home *** CD-ROM | disk | FTP | other *** search
/ CU Amiga Super CD-ROM 23 / CU Amiga - Super CD-ROM 23 (June 1998).iso / CUCD / Programming / MUI / MCC_NList / Developer / AutoDocs / MCC_NList.doc < prev    next >
Encoding:
Text File  |  1997-07-15  |  94.2 KB  |  2,697 lines

  1. TABLE OF CONTENTS
  2.  
  3. NList.mcc/NList.mcc
  4. NList.mcc/MUIA_NList_Active
  5. NList.mcc/MUIA_NList_AdjustHeight
  6. NList.mcc/MUIA_NList_AdjustWidth
  7. NList.mcc/MUIA_NList_AutoCopyToClip
  8. NList.mcc/MUIA_NList_AutoVisible
  9. NList.mcc/MUIA_NList_ButtonClick
  10. NList.mcc/MUIA_NList_ClickColumn
  11. NList.mcc/MUIA_NList_CompareHook
  12. NList.mcc/MUIA_NList_CompareHook2
  13. NList.mcc/MUIA_NList_ConstructHook
  14. NList.mcc/MUIA_NList_ConstructHook2
  15. NList.mcc/MUIA_NList_CopyColumnToClipHook
  16. NList.mcc/MUIA_NList_CopyColumnToClipHook2
  17. NList.mcc/MUIA_NList_CopyEntryToClipHook
  18. NList.mcc/MUIA_NList_CopyEntryToClipHook2
  19. NList.mcc/MUIA_NList_DefaultObjectOnClick
  20. NList.mcc/MUIA_NList_DefClickColumn
  21. NList.mcc/MUIA_NList_DestructHook
  22. NList.mcc/MUIA_NList_DestructHook2
  23. NList.mcc/MUIA_NList_DisplayHook
  24. NList.mcc/MUIA_NList_DisplayHook2
  25. NList.mcc/MUIA_NList_DisplayRecall
  26. NList.mcc/MUIA_NList_DoubleClick
  27. NList.mcc/MUIA_NList_DragColOnly
  28. NList.mcc/MUIA_NList_DragSortable
  29. NList.mcc/MUIA_NList_DragType
  30. NList.mcc/MUIA_NList_DropMark
  31. NList.mcc/MUIA_NList_DropType
  32. NList.mcc/MUIA_NList_Entries
  33. NList.mcc/MUIA_NList_EntryClick
  34. NList.mcc/MUIA_NList_EntryValueDependent
  35. NList.mcc/MUIA_NList_First
  36. NList.mcc/MUIA_NList_ForcePen
  37. NList.mcc/MUIA_NList_Format
  38. NList.mcc/MUIA_NList_Horiz_DeltaFactor
  39. NList.mcc/MUIA_NList_Horiz_Entries
  40. NList.mcc/MUIA_NList_Horiz_First
  41. NList.mcc/MUIA_NList_Horiz_Visible
  42. NList.mcc/MUIA_NList_Input
  43. NList.mcc/MUIA_NList_InsertPosition
  44. NList.mcc/MUIA_NList_KeepActive
  45. NList.mcc/MUIA_NList_LineHeight
  46. NList.mcc/MUIA_NList_MakeActive
  47. NList.mcc/MUIA_NList_MinLineHeight
  48. NList.mcc/MUIA_NList_MultiClick
  49. NList.mcc/MUIA_NList_MultiSelect
  50. NList.mcc/MUIA_NList_MultiTestHook
  51. NList.mcc/MUIA_NList_Pool
  52. NList.mcc/MUIA_NList_PoolPuddleSize
  53. NList.mcc/MUIA_NList_PoolThreshSize
  54. NList.mcc/MUIA_NList_PrivateData
  55. NList.mcc/MUIA_NList_Prop_DeltaFactor
  56. NList.mcc/MUIA_NList_Prop_Entries
  57. NList.mcc/MUIA_NList_Prop_First
  58. NList.mcc/MUIA_NList_Prop_Visible
  59. NList.mcc/MUIA_NList_Quiet
  60. NList.mcc/MUIA_NList_SelectChange
  61. NList.mcc/MUIA_NList_ShowDropMarks
  62. NList.mcc/MUIA_NList_SkipChars
  63. NList.mcc/MUIA_NList_SortType
  64. NList.mcc/MUIA_NList_SourceArray
  65. NList.mcc/MUIA_NList_SourceInsert
  66. NList.mcc/MUIA_NList_SourceString
  67. NList.mcc/MUIA_NList_StackCheck
  68. NList.mcc/MUIA_NList_TabSize
  69. NList.mcc/MUIA_NList_Title
  70. NList.mcc/MUIA_NList_TitleClick
  71. NList.mcc/MUIA_NList_TitleSeparator
  72. NList.mcc/MUIA_NList_TypeSelect
  73. NList.mcc/MUIA_NList_Visible
  74. NList.mcc/MUIA_NList_XXXBackground
  75. NList.mcc/MUIA_NList_XXXPen
  76. NList.mcc/MUIM_NList_Clear
  77. NList.mcc/MUIM_NList_ColWidth
  78. NList.mcc/MUIM_NList_ColToColumn
  79. NList.mcc/MUIM_NList_ColumnToCol
  80. NList.mcc/MUIM_NList_ContextMenuBuild
  81. NList.mcc/MUIM_NList_CopyTo
  82. NList.mcc/MUIM_NList_CopyToClip
  83. NList.mcc/MUIM_NList_CreateImage
  84. NList.mcc/MUIM_NList_DeleteImage
  85. NList.mcc/MUIM_NList_DoMethod
  86. NList.mcc/MUIM_NList_DropDraw
  87. NList.mcc/MUIM_NList_DropEntryDrawErase
  88. NList.mcc/MUIM_NList_DropType
  89. NList.mcc/MUIM_NList_Exchange
  90. NList.mcc/MUIM_NList_GetEntry
  91. NList.mcc/MUIM_NList_GetEntryInfo
  92. NList.mcc/MUIM_NList_GetSelectInfo
  93. NList.mcc/MUIM_NList_Insert
  94. NList.mcc/MUIM_NList_InsertSingle
  95. NList.mcc/MUIM_NList_InsertSingleWrap
  96. NList.mcc/MUIM_NList_InsertWrap
  97. NList.mcc/MUIM_NList_Jump
  98. NList.mcc/MUIM_NList_Move
  99. NList.mcc/MUIM_NList_NextSelected
  100. NList.mcc/MUIM_NList_Redraw
  101. NList.mcc/MUIM_NList_RedrawEntry
  102. NList.mcc/MUIM_NList_Remove
  103. NList.mcc/MUIM_NList_ReplaceSingle
  104. NList.mcc/MUIM_NList_Select
  105. NList.mcc/MUIM_NList_Sort
  106. NList.mcc/MUIM_NList_Sort2
  107. NList.mcc/MUIM_NList_TestPos
  108. NList.mcc/MUIM_NList_UseImage
  109. NList.mcc/NList.mcc
  110.  
  111.         That MCC public custom class is very similar to the
  112.         MUI's list class.
  113.  
  114.         It handles directly most attributes which are handled
  115.         by Listview in the original couple List/Listview.
  116.  
  117.         The NListview exist anyway to provide a complete
  118.         object with scrollbars, so you should use it as child
  119.         of NListview. Anyway, you can use NList without NListview
  120.         if you don't want any builtin scrollbar.
  121.  
  122.         NOTE: NList class will not work with Listview without
  123.               some conflicts, and NListview class can't use List
  124.               as child but only NList or a NList subclass.
  125.  
  126.               MUIM_NList_TestPos and MUIM_List_TestPos are similar
  127.               but use a different struct to store data.
  128.               MUIM_List_TestPos works like with a List object.
  129.  
  130.         NOTE: Avoid as possible to do many things in MUIM_Show and
  131.               MUIM_Hide methods because when an object is in
  132.               a virtual group, your object will receive them
  133.               for each one of its moves !!!
  134.  
  135.  
  136.     Standard tags with NList special values :
  137.  
  138.         MUIA_Background   has the same meaning than
  139.                           MUIA_NList_ListBackground
  140.                           but only at init.
  141.  
  142.         MUIA_Font         is settable only at init.
  143.                           MUIV_NList_Font, MUIV_NList_Font_Little
  144.                           and MUIV_NList_Font_Fixed are special
  145.                           values usable for it (settable in prefs)
  146.                           but standard values are usable too.
  147.  
  148.         MUIA_Frame        you can override the defaults frames
  149.                           of the classe by setting it, but it will
  150.                           be overrided again by defaults if a
  151.                           set(obj,MUIA_NList_Input,bool) is made after.
  152.                           if MUIA_NList_Input is TRUE then the
  153.                           default is MUIV_Frame_InputList, if FALSE
  154.                           it's MUIV_Frame_ReadList.
  155.  
  156.         MUIA_ContextMenu
  157.         MUIM_ContextMenuBuild
  158.         MUIM_ContextMenuChoice
  159.                           read MUIM_NList_ContextMenuBuild.
  160.  
  161.     Author: Gilles Masson    (c) 1996-1997    email: masson@iut-soph.unice.fr
  162. NList.mcc/MUIA_NList_Active
  163.  
  164.     NAME
  165.         MUIA_NList_Active -- [ISGN], LONG
  166.  
  167.     SPECIAL INPUTS
  168.         MUIV_NList_Active_Off
  169.         MUIV_NList_Active_Top
  170.         MUIV_NList_Active_Bottom
  171.         MUIV_NList_Active_Up
  172.         MUIV_NList_Active_Down
  173.         MUIV_NList_Active_PageUp
  174.         MUIV_NList_Active_PageDown
  175.  
  176.     FUNCTION
  177.         Same function as List.mui/MUIA_List_Active.
  178.  
  179.     SEE ALSO
  180.         MUIA_NList_Entries, MUIA_NList_First, MUIA_NList_Visible
  181. NList.mcc/MUIA_NList_AdjustHeight
  182.  
  183.     NAME
  184.         MUIA_NList_AdjustHeight -- [I..], BOOL
  185.  
  186.     FUNCTION
  187.         Same function as List.mui/MUIA_List_AdjustHeight.
  188.  
  189.         Will adjust the nlist height if the nlist object is in a virtual
  190.         group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
  191.         MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
  192.  
  193.         When the object is in a virtual group, a re-layout of this one
  194.         will be forced when the entries number of the NList object change,
  195.         so all entries should always be visible.
  196.  
  197.     DEFAULT
  198.         FALSE
  199.  
  200.     SEE ALSO
  201.         MUIA_List_AdjustHeight, MUIA_NList_AdjustWidth
  202. NList.mcc/MUIA_NList_AdjustWidth
  203.  
  204.     NAME
  205.         MUIA_NList_AdjustWidth -- [I..], BOOL
  206.  
  207.     FUNCTION
  208.         Same function as List.mui/MUIA_List_AdjustWidth.
  209.  
  210.         Will adjust the nlist width if the nlist object is in a virtual
  211.         group or if MUIA_NList_SourceInsert, MUIA_NList_SourceString,
  212.         MUIA_NList_SourceArray or MUIA_List_SourceArray was used.
  213.  
  214.     DEFAULT
  215.         FALSE
  216.  
  217.     SEE ALSO
  218.         MUIA_List_AdjustWidth, MUIA_NList_AdjustHeight
  219. NList.mcc/MUIA_NList_AutoCopyToClip
  220.  
  221.     NAME
  222.         MUIA_NList_AutoCopyToClip -- [IS.], BOOL
  223.  
  224.     FUNCTION
  225.         If set to TRUE you can copy the selected area to the
  226.         clipboard 0 with Amiga-C and Amiga-X (Amiga-X because
  227.         i have seen that sometimes Amiga-C is a shortcut !).
  228.         (work with both Right-Amiga and Left-Amiga keys)
  229.  
  230.     DEFAULT
  231.         TRUE
  232.  
  233.     SEE ALSO
  234.         MUIA_NList_CopyColumnToClipHook, MUIA_NList_CopyEntryToClipHook,
  235.         MUIM_NList_CopyToClip
  236. NList.mcc/MUIA_NList_AutoVisible
  237.  
  238.     NAME
  239.         MUIA_NList_AutoVisible -- [ISG], BOOL
  240.  
  241.     FUNCTION
  242.         Same function as List.mui/MUIA_List_AutoVisible.
  243.  
  244.         Seting this to TRUE, the NList object will automatically and
  245.         always jump to show the active entry.
  246.  
  247.     DEFAULT
  248.         FALSE
  249.  
  250.    SEE ALSO
  251.         MUIA_List_AutoVisible, MUIA_NList_Active
  252. NList.mcc/MUIA_NList_ButtonClick
  253.  
  254.     NAME
  255.         MUIA_NList_ButtonClick -- [..GN], LONG
  256.  
  257.     FUNCTION
  258.         You'll get a notify on it each time the user
  259.         clicks one of the buttons made by ESC O[...@<n>] or ESC o[...@<n>].
  260.  
  261.         The returned value is the <n> of the clicked image/object.
  262.         (see MUIA_NList_DisplayHook for more).
  263.  
  264.         If you get that value later, it will still be <n> of the latest
  265.         image/object clicked that you'll get.
  266.  
  267.     SEE ALSO
  268.         MUIA_NList_DisplayHook, MUIA_NList_DoubleClick, MUIA_NList_MultiClick,
  269.         MUIA_NList_EntryClick, MUIA_NList_TitleClick.
  270. NList.mcc/MUIA_NList_ClickColumn
  271.  
  272.     NAME
  273.         MUIA_NList_ClickColumn -- [..G], LONG
  274.  
  275.     FUNCTION
  276.         Same function as Listview.mui/MUIA_Listview_ClickColumn.
  277.  
  278.     SEE ALSO
  279.         MUIA_Listview_ClickColumn, MUIA_NList_DefClickColumn
  280. NList.mcc/MUIA_NList_CompareHook
  281.  
  282.     NAME
  283.         MUIA_NList_CompareHook -- [IS.], struct Hook *
  284.  
  285.     FUNCTION
  286.         Same function as List.mui/MUIA_List_CompareHook.
  287.  
  288.     SEE ALSO
  289.         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
  290. NList.mcc/MUIA_NList_CompareHook2
  291.  
  292.     NAME
  293.         MUIA_NList_CompareHook2 -- [IS.], struct Hook *
  294.  
  295.     FUNCTION
  296.         Same function as MUIA_NList_CompareHook but A2 will be the object
  297.         and A1 a NList_CompareMessage struct pointer.
  298.  
  299.     SEE ALSO
  300.         MUIA_NList_CompareHook
  301. NList.mcc/MUIA_NList_ConstructHook
  302.  
  303.     NAME
  304.         MUIA_NList_ConstructHook -- [IS.], struct Hook *
  305.  
  306.     FUNCTION
  307.         Same function as List.mui/MUIA_List_ConstructHook.
  308.  
  309.         Think to finish lines entries on a \0 , \n and \r.
  310.         The list will not display anything which come after
  311.         a \n , \r or \0, so finish lines entries on a \0, \r
  312.         and \n if you dont want to waste memory.
  313.  
  314.     SPECIAL INPUTS
  315.         MUIV_NList_ConstructHook_String
  316.  
  317.         It's a builtin hook that copy a string entry.
  318.         (so original string can be trash after)
  319.         you must set MUIV_NList_DestructHook_String
  320.         too if you use it.
  321.  
  322.     SEE ALSO
  323.         MUIA_NList_DestructHook, MUIA_NList_DisplayHook
  324. NList.mcc/MUIA_NList_ConstructHook2
  325.  
  326.     NAME
  327.         MUIA_NList_ConstructHook2 -- [IS.], struct Hook *
  328.  
  329.     FUNCTION
  330.         Same function as MUIA_NList_ConstructHook but A2 will be the object
  331.         and A1 a NList_ConstructMessage struct pointer.
  332.  
  333.     SEE ALSO
  334.         MUIA_NList_ConstructHook
  335. NList.mcc/MUIA_NList_CopyColumnToClipHook
  336.  
  337.     NAME
  338.         MUIA_NList_CopyColumnToClipHook -- [IS.], struct Hook *
  339.  
  340.     FUNCTION
  341.         This hook will be called while a MUIM_NList_CopyToClip
  342.         for each column string. You'll certainly get in entry
  343.         a string given by your own MUIA_NList_DisplayHook/2, so
  344.         you must not use the same buffer for both !
  345.  
  346.         You'll get the entry num in -1 element of the given array,
  347.         elements 1 and 2 are the positions of the first selected
  348.         char and the last+1.
  349.  
  350.         You must return the pointer of the string to copy to
  351.         clipboard in element 0, a the string length in element 1.
  352.  
  353.         The builtin hook skip all ESC chars plus their next char
  354.         (and [...] for ESC-P, ESC-I, ESC-O and ESC-o), and add a
  355.         tab char between columns.
  356.  
  357.     SEE ALSO
  358.         MUIM_NList_CopyToClip, MUIA_NList_CopyEntryToClipHook,
  359.         MUIA_NList_DisplayHook
  360. NList.mcc/MUIA_NList_CopyColumnToClipHook2
  361.  
  362.     NAME
  363.         MUIA_NList_CopyColumnToClipHook2 -- [IS.], struct Hook *
  364.  
  365.     FUNCTION
  366.         Same function as MUIA_NList_CopyColumnToClipHook but A2 will be the object
  367.         and A1 a NList_CopyColumnToClipMessage struct pointer.
  368.  
  369.     SEE ALSO
  370.         MUIA_NList_CopyColumnToClipHook
  371. NList.mcc/MUIA_NList_CopyEntryToClipHook
  372.  
  373.     NAME
  374.         MUIA_NList_CopyEntryToClipHook -- [IS.], struct Hook *
  375.  
  376.     FUNCTION
  377.         This work near like MUIA_NList_DisplayHook, execpt
  378.         that it is not called when the NList object want to
  379.         display its lines but when it want to copy them
  380.         to clipboard (or other). See MUIM_NList_CopyToClip.
  381.  
  382.         You can return only one string pointer (only one
  383.         column for copy), as element 0 of the array.
  384.  
  385.         The -1 element is the entry number only when
  386.         you don't give a entry pointer to NList_CopyToClip method,
  387.         else it's -1.
  388.  
  389.         Elements 1,2,3 and 4 of the given array are first column/pos
  390.         and last column/pos which are selected.
  391.         Elements 5 and 6 are 2, 1 or 0 when the 1th and 3rd pos are
  392.         in the format preparse string, the special entry preparse string
  393.         or in the normal string for that entry/columns.
  394.  
  395.         For column, -1 is the first and -2 the last, else it's its number.
  396.         This is the number of displayed columns and not the corresponding
  397.         entry in the array return by DisplayHook. Anyway, positions are
  398.         calculated from strings returned by DisplayHook.
  399.  
  400.         For pos, -1 is left of column and -2 its end. The last pos should
  401.         not be included.
  402.  
  403.         You should use MUIA_NList_CopyColumnToClipHook unless you don't
  404.         want to be copied what is seen in the list.
  405.  
  406.     SEE ALSO
  407.         MUIM_NList_CopyToClip, MUIA_NList_CopyColumnToClipHook,
  408.         MUIA_NList_DisplayHook
  409. NList.mcc/MUIA_NList_CopyEntryToClipHook2
  410.  
  411.     NAME
  412.         MUIA_NList_CopyEntryToClipHook2 -- [IS.], struct Hook *
  413.  
  414.     FUNCTION
  415.         Same function as MUIA_NList_CopyEntryToClipHook but A2 will be the object
  416.         and A1 a NList_CopyEntryToClipMessage struct pointer.
  417.  
  418.     SEE ALSO
  419.         MUIA_NList_CopyEntryToClipHook
  420. NList.mcc/MUIA_NList_DefaultObjectOnClick
  421.  
  422.     NAME
  423.         MUIA_NList_DefaultObjectOnClick -- [IS.], BOOL
  424.  
  425.     FUNCTION
  426.         If set to TRUE, the NList object will become the
  427.         MUIA_Window_DefaultObject of its window when you
  428.         click on it, so the user will be able to control
  429.         the list with keys. The MUIA_Window_ActiveObject
  430.         will be set to None, unless the current active
  431.         object is the NList one itself or if it's the
  432.         MUIA_NList_KeepActive one.
  433.  
  434.         There is a special meaning if you use both
  435.         DefaultObjectOnClick and MUIA_NList_MakeActive.
  436.         (see MUIA_NList_MakeActive)
  437.  
  438.     DEFAULT
  439.         TRUE
  440.  
  441.     SEE ALSO
  442.         MUIA_NList_KeepActive,MUIA_NList_MakeActive
  443. NList.mcc/MUIA_NList_DefClickColumn
  444.  
  445.     NAME
  446.         MUIA_NList_DefClickColumn -- [ISG], LONG
  447.  
  448.     FUNCTION
  449.         Same function as Listview.mui/MUIA_Listview_DefClickColumn.
  450.  
  451.     SEE ALSO
  452.         MUIA_Listview_DefClickColumn, MUIA_NList_ClickColumn
  453. NList.mcc/MUIA_NList_DestructHook
  454.  
  455.     NAME
  456.         MUIA_NList_DestructHook -- [IS.], struct Hook *
  457.  
  458.     FUNCTION
  459.         Same function as List.mui/MUIA_List_DestructHook.
  460.  
  461.     SPECIAL INPUTS
  462.         MUIV_NList_DestructHook_String
  463.  
  464.         It's a builtin hook that free the string entry
  465.         previously allocated and copied by
  466.         the MUIV_NList_ConstructHook_String builtin hook.
  467.  
  468.     SEE ALSO
  469.         MUIA_NList_ConstructHook, MUIA_NList_DisplayHook
  470. NList.mcc/MUIA_NList_DestructHook2
  471.  
  472.     NAME
  473.         MUIA_NList_DestructHook2 -- [IS.], struct Hook *
  474.  
  475.     FUNCTION
  476.         Same function as MUIA_NList_DestructHook but A2 will be the object
  477.         and A1 a NList_DestructMessage struct pointer.
  478.  
  479.     SEE ALSO
  480.         MUIA_NList_DestructHook
  481. NList.mcc/MUIA_NList_DisplayHook
  482.  
  483.     NAME
  484.         MUIA_NList_DisplayHook -- [IS.], struct Hook *
  485.  
  486.     FUNCTION
  487.         Same function as List.mui/MUIA_List_DisplayHook.
  488.  
  489.         Do not modify the buffers you return in the hook anywhere
  490.         else than in the hook when called by NList.
  491.         (if you do so you MUST set MUIA_NList_DisplayRecall)
  492.  
  493.  
  494.         You should return the same thing if its called another
  495.         time with the same inputs !
  496.         The hook will be called with a pointer to the
  497.         entry to be displayed in A1 and a pointer to
  498.         a string array containing as many entries as
  499.         your list may have cols in A2.
  500.         You must fill this array with the strings that
  501.         you want to display.
  502.         The array is DISPLAY_ARRAY_MAX*2 large.
  503.         In the DISPLAY_ARRAY_MAX+col element you can set a
  504.         preparse string for the corresponding col element.
  505.         Using it you'll be able to avoid copying the string in
  506.         a buffer to add something in the beginning of the col
  507.         string.
  508.  
  509.         The display hook also gets the position of the current entry
  510.         as additional parameter. It is stored in the longword
  511.         preceding the col array (don't forget it's a LONG).
  512.         (setting that LONG value to -2 is another way to tell the object
  513.         to not consider the return string pointeur as valid next time
  514.         he will want to use it, and he will recall the hook).
  515.  
  516.         When the hook function will be called to get the title strings,
  517.         you'll get NULL in A1, and -1 as position of current entry.
  518.  
  519.  
  520.         The hook function will be called each time a line (or a part of
  521.         it) need to be drawn (and when NList need to compute lenght of
  522.         columns contents).
  523.  
  524.  
  525.         Here are the escape sequence known by the parsing of NList :
  526.               (If you use C, ESC b can be written "\033b")
  527.  
  528.         \t          Tabulation. Go to the next tab boundary of the col.
  529.                     tab positions are separated by 8 spaces by default.
  530.         ESC -       Disable text engine, following chars will be printed
  531.                     without further parsing.
  532.         ESC u       Set the soft style to underline.
  533.         ESC b       Set the soft style to bold.
  534.         ESC i       Set the soft style to italic.
  535.         ESC n       Set the soft style back to normal.
  536.         ESC <n>     Use pen number n (2..9) as front pen. n must be a valid
  537.                     DrawInfo pen as specified in "intuition/screens.h".
  538.         ESC c       Center current line. only valid at the beginning.
  539.         ESC r       Right justify current line. only valid at the beginning.
  540.         ESC l       Left justify current line. only valid at the beginning.
  541.  
  542.         These ones are new or modified :
  543.  
  544.         ESC j       Justify left and right current line. only at beginning.
  545.         ESC I[<s>]                     (ESC I[<s>|<width>|<height>,<minwidth>])
  546.                     Draw MUI image with specification <s>.
  547.                     See Image.mui/MUIA_Image_Spec for image spec definition.
  548.                     <width> and <height> should be omited because NList
  549.                     draw the image to its standard size himself now.
  550.         ESC O[<p>]                     (ESC O[<s>|<width>|<height>,<minwidth>])
  551.                     Draw the MUIM_NList_CreateImage at adress <p>.
  552.                     (<p> should be an 8 hex digits number).
  553.         ESC o[<n>]                     (ESC o[<s>|<width>|<height>,<minwidth>])
  554.                     Draw the MUIM_NList_UseImage number <n>. If the <n> UseImage
  555.                     don't exist or has been set to NULL, no image is drawn.
  556.         ESC P[]     Use default front pen.
  557.         ESC P[<n>]  Use pen number <n>. (it's a direct pen number, so you must
  558.                     make MUI_ObtainPen and MUI_ReleasePen for it yourself,
  559.                     best to do it is in Setup() and Cleanup() of a subclass).
  560.         ESC T       Draw horizontal line on top of the entry for the col.
  561.         ESC C       Draw horizontal line centered in the entry for the col.
  562.         ESC B       Draw horizontal line on bottom of the entry for the col.
  563.         ESC E       Draw horizontal line centered in the entry for the col,
  564.                     but only on the left and right of the line contents.
  565.         ESC t , ESC t[<n>] , ESC t[M<n>] , ESC t[I<n>]
  566.                     Make the ESC C or ESC E horizontal line being thick
  567.                     and filled with some color :
  568.                     default is MPEN_FILL.
  569.                     [<n>]  means than <n> is a direct pen color, like for ESC P[<n>]
  570.                     [M<n>] means that <n> is MUI pen color number (MPEN_xxx ie 0..8)
  571.                     [I<n>] means that <n> is Intuition dri pen number 0..11 (see
  572.                             "intuition/screens.h")
  573.  
  574.         with ESC O[] and ESC o[], you can add [...@<n>] which will make the image/object
  575.         act as a relverify button. When this "button" is released NList will notify
  576.         MUIA_NList_ButtonClick with the value <n>.
  577.  
  578.         with ESC I[], ESC O[] and ESC o[], you can add [...|<width>] or
  579.         [...|<width>|<height>] or [...|<width>|<height>,<minwidth>] or
  580.         [...,<minwidth>] where :
  581.           <width> will be the width in pixels of the image/object.
  582.                   -1  means default image width unless <minwidth> is set.
  583.                    0  means default image width.
  584.           <height> will be the height in pixels of the image/object.
  585.                   -1  means default image height (entry height is max).
  586.                    0  means entry height.
  587.           <minwidth> will be the min width in pixels before the next char/string/image.
  588.                   when present, default height become entry height and
  589.                   width become minwidth (if minwdith is bigger than image default
  590.                   width), unless you set <width> and/or <height>.
  591.           <minwidth> <width> and <height> must be a decimal number (%ld).
  592.  
  593.     SEE ALSO
  594.         MUIA_NList_Format, MUIA_Text_Contents, MUIA_List_DisplayHook,
  595.         MUIA_NList_DisplayRecall
  596. NList.mcc/MUIA_NList_DisplayHook2
  597.  
  598.     NAME
  599.         MUIA_NList_DisplayHook2 -- [IS.], struct Hook *
  600.  
  601.     FUNCTION
  602.         Same function as MUIA_NList_DisplayHook but A2 will be the object
  603.         and A1 a NList_DisplayMessage struct pointer.
  604.  
  605.     SEE ALSO
  606.         MUIA_NList_DisplayHook
  607. NList.mcc/MUIA_NList_DisplayRecall
  608.  
  609.     NAME
  610.         MUIA_NList_DisplayRecall -- [.S.], BOOL
  611.  
  612.     FUNCTION
  613.         If for some unusual reason you modify one of the buffer that
  614.         your DisplayHook function usually return anywhere else than
  615.         in the DisplayHook function when called by the NList object,
  616.         you must set it to TRUE, so the object will know it.
  617.  
  618.     SEE ALSO
  619.         MUIA_NList_DisplayHook
  620. NList.mcc/MUIA_NList_DoubleClick
  621.  
  622.     NAME
  623.         MUIA_NList_DoubleClick -- [..GN], LONG
  624.  
  625.     FUNCTION
  626.         You'll get a notify on it each time the user double
  627.         clicks on an entry in the list, or on the title.
  628.  
  629.         The value is the entry number, which will be -1 when
  630.         it's the title.
  631.  
  632.         You'll get a notify on it too when you press the 'return' key
  633.         and the NList object is active or default.
  634.  
  635.         If you get() it, you'll get the last click position, which
  636.         can be -2 if it was on nothing (ie not entry or title).
  637.  
  638.         For triple clicks and more, use MUIA_NList_MultiClick.
  639.  
  640.     NOTE
  641.         Disable for the title when MUIA_NList_TitleClick is used.
  642.  
  643.     SEE ALSO
  644.         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
  645.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  646. NList.mcc/MUIA_NList_DragColOnly
  647.  
  648.     NAME
  649.         MUIA_NList_DragColOnly -- [ISG], LONG
  650.  
  651.     FUNCTION
  652.         When set to a col number (displayhook col number, not the visible
  653.         one), only the text of that col for the selected entry will
  654.         be dragged instead of the visible part of the entry.
  655.  
  656.         Set it to -1 to come back to standard/default mode when you have
  657.         changed it !
  658. NList.mcc/MUIA_NList_DragSortable
  659.  
  660.     NAME
  661.         MUIA_NList_DragSortable -- [ISG], BOOL
  662.  
  663.     FUNCTION
  664.         Same function as List.mui/MUIA_List_DragSortable.
  665.  
  666.         DragType will be MUIV_NList_DragType_Default unless you set it.
  667.  
  668.         No need for you to set MUIA_Dropable or MUIA_Draggable.
  669.  
  670.     DEFAULT
  671.         FALSE
  672. NList.mcc/MUIA_NList_DragType
  673.  
  674.     NAME
  675.         MUIA_NList_DragType -- [ISG], LONG
  676.  
  677.     SPECIAL INPUTS
  678.         MUIV_NList_DragType_None        no drag
  679.         MUIV_NList_DragType_Default     as set in prefs.
  680.         MUIV_NList_DragType_Immediate   drag on borders and with qualifier, and
  681.                                         immediate drag if non-multiselect mode.
  682.         MUIV_NList_DragType_Borders     drag on borders and with qualifier.
  683.         MUIV_NList_DragType_Qualifier   drag only using qualifier.
  684.  
  685.     FUNCTION
  686.         Same function as Listview.mui/MUIA_Listview_DragType.
  687.  
  688.         If you want the user to be able to drag items out of
  689.         your list, you must set this.
  690.         Don't use MUIA_Draggable with NList or NListview.
  691. NList.mcc/MUIA_NList_DropMark
  692.  
  693.     NAME
  694.         MUIA_NList_DropMark -- [..G], LONG
  695.  
  696.     FUNCTION
  697.         Same function as List.mui/MUIA_List_DropMark.
  698.  
  699.         After a successfull drop operation, this attribute holds
  700.         the position where we should insert the new entry(ies).
  701.  
  702.     SEE ALSO
  703.         MUIA_NList_DropType, MUIM_NList_DropType, MUIM_NList_DropDraw
  704. NList.mcc/MUIA_NList_DropType
  705.  
  706.     NAME
  707.         MUIA_NList_DropType -- [..G], LONG
  708.  
  709.     FUNCTION
  710.         Same function as MUIA_NList_DropMark but will return the
  711.         current DropMark type instead of the DropMark entry number.
  712.  
  713.         After a successfull drop operation, this attribute holds
  714.         the type of dropmark which where drawn.
  715.  
  716.     SEE ALSO
  717.         MUIA_NList_DropMark, MUIM_NList_DropType, MUIM_NList_DropDraw
  718. NList.mcc/MUIA_NList_Entries
  719.  
  720.     NAME
  721.         MUIA_NList_Entries -- [..GN], LONG
  722.  
  723.     FUNCTION
  724.         Same function as List.mui/MUIA_List_Entries.
  725.  
  726.     SEE ALSO
  727.         MUIA_NList_First, MUIA_NList_Visible, MUIA_NList_Active
  728. NList.mcc/MUIA_NList_EntryClick
  729.  
  730.     NAME
  731.         MUIA_NList_EntryClick -- [..GN], LONG
  732.  
  733.     FUNCTION
  734.         You'll get a notify on it each time the user click
  735.         on an entry in the list (on the title, use
  736.         MUIA_NList_TitleClick for that).
  737.  
  738.         The value is the entry number.
  739.  
  740.         You'll get a notify on it too when you press the 'return' key
  741.         and the NList object is active or default, but only if there
  742.         is no notify asked on MUIA_NList_DoubleClick.
  743.  
  744.         If you get() it, you'll get the last click position, which
  745.         can be -1 when on title and -2 if it was on nothing.
  746.  
  747.     SEE ALSO
  748.         MUIA_NList_MultiClick, MUIA_NList_TitleClick,
  749.         MUIA_NList_DoubleClick, MUIM_NList_TestPos.
  750. NList.mcc/MUIA_NList_EntryValueDependent
  751.  
  752.     NAME
  753.         MUIA_NList_EntryValueDependent -- [ISG], BOOL
  754.  
  755.     FUNCTION
  756.         If your display hook return different strings when the
  757.         entry num value change for a identical entry pointer
  758.         then you should set it.
  759.  
  760.     DEFAULT
  761.         FALSE
  762.  
  763.     SEE ALSO
  764.         MUIA_NList_DisplayHook
  765. NList.mcc/MUIA_NList_First
  766.  
  767.     NAME
  768.         MUIA_NList_First -- [ISGN], LONG
  769.  
  770.     SPECIAL INPUTS
  771.         MUIV_NList_First_Top
  772.         MUIV_NList_First_Bottom
  773.         MUIV_NList_First_Up
  774.         MUIV_NList_First_Down
  775.         MUIV_NList_First_PageUp
  776.         MUIV_NList_First_PageDown
  777.  
  778.     FUNCTION
  779.         Get the number of the first visible entry.
  780.         You can set it to change the first entry you want to be visible.
  781.  
  782.     SEE ALSO
  783.         MUIA_NList_Visible, MUIA_NList_Entries, MUIA_NList_Active
  784. NList.mcc/MUIA_NList_ForcePen
  785.  
  786.     NAME
  787.         MUIA_NList_ForcePen -- [ISG], LONG
  788.  
  789.     SPECIAL INPUTS
  790.         MUIV_NList_ForcePen_On
  791.         MUIV_NList_ForcePen_Off
  792.         MUIV_NList_ForcePen_Default
  793.  
  794.     FUNCTION
  795.         Set the ForcePen mode, when on it force the 'selected pen' color
  796.         in all the selected area. Else the color is forced only at the
  797.         beginning of the area and can be changed by text escape sequences.
  798.  
  799.         The default is set by the user in the pref .mcp class.
  800.  
  801.         Getting in will give its current value.
  802. NList.mcc/MUIA_NList_Format
  803.  
  804.     NAME
  805.         MUIA_NList_Format -- [ISG], STRPTR
  806.  
  807.     FUNCTION
  808.         NList is able to handle multi column lists. To define
  809.         how many columns should be displayed and how they
  810.         should be formatted, you specify a format string.
  811.  
  812.         This format string must contain one entry for each column
  813.         you want to see. Entries are seperated by commas, one
  814.         entry is parsed via dos.library/ReadArgs().
  815.  
  816.         The template for a single entry looks like this:
  817.  
  818.         DELTA=D/N,PREPARSE=P/K,COL=C/N,BAR/S,TBAR/S,NOBAR=NB/S,NOTITLEBUTTON=NOTB/S,
  819.         WEIGHT=W/N,MINWIDTH=MIW/N,MAXWIDTH=MAW/N,
  820.         COLWIDTH=CW/N,MINCOLWIDTH=MICW/N,MAXCOLWIDTH=MACW/N,
  821.         PIXWIDTH=PW/N,MINPIXWIDTH=MIPW/N,MAXPIXWIDTH=MAPW/N
  822.  
  823.     First ones are like (or nearly) MUIA_List_Format ones :
  824.  
  825.         DELTA
  826.            Space in pixel between this column and the next.
  827.            the last displayed column ignores this setting.
  828.            Defaults to 4.
  829.  
  830.         PREPARSE
  831.            A preparse string for this column.
  832.  
  833.         COL
  834.            This value adjusts the col number of the current column.
  835.            Defaults to current column number (0,1,...)
  836.            You can't use identical COL values for 2 or more columns.
  837.  
  838.         BAR
  839.            Will draw a vertical bar between this and the next column.
  840.  
  841.         WEIGHT
  842.            The weight of the column. As for MUI's group.
  843.  
  844.         MINWIDTH
  845.            Minimum percentage of the list width for the current column.
  846.  
  847.         MAXWIDTH
  848.            Maximum percentage of the list width for the current column.
  849.  
  850.     These are new ones :
  851.  
  852.         TBAR
  853.            Will draw a vertical bar between this and the next column
  854.            but only in the title (ignored if BAR is set).
  855.            THIS IS A DEFAULT !
  856.  
  857.         NOBAR
  858.            Don't draw a vertical bar between this and the next column at all.
  859.  
  860.         NOTITLEBUTTON
  861.            Will prevent the title of the column to act as a relverify
  862.            button when you set MUIA_NList_TitleClick (or make a notify
  863.            on it).
  864.  
  865.         COLWIDTH
  866.            Wanted number of chars for the current column.
  867.            You will get as PIXWIDTH with number*font_with.
  868.            Possibly more than number chars will fit in the
  869.            column if you use proportional font, anyway you
  870.            are sure than number non italic chars will fit.
  871.  
  872.         MINCOLWIDTH
  873.            Minimum number of chars for the current column.
  874.  
  875.         MAXCOLWIDTH
  876.            Maximum number of chars for the current column.
  877.  
  878.         PIXWIDTH
  879.            Wanted number of chars for the current column.
  880.  
  881.         MINPIXWIDTH
  882.            Minimum number of chars for the current column.
  883.  
  884.         MAXPIXWIDTH
  885.            Maximum number of chars for the current column.
  886.  
  887.         Note: You will have as many columns in your list as
  888.               entries in the format string (i.e. number of
  889.               commas + 1). Empty entries, e.g. with a format
  890.               string of ",,,," are perfectly ok.
  891.  
  892.         MINPIXWIDTH, MAXPIXWIDTH, MINCOLWIDTH, MAXCOLWIDTH,
  893.         MINWIDTH and MAXWIDTH will not be used if PIXWIDTH,
  894.         or COLWIDTH is used.
  895.  
  896.         Only one of PIXWIDTH, COLWIDTH and WEIGHT will be
  897.         used, the first find in this order.
  898.         Biggest of MINPIXWIDTH, MINCOLWIDTH and MINWIDTH.
  899.         Smallest of MAXPIXWIDTH, MAXCOLWIDTH and MAXWIDTH.
  900.         If the min is bigger than the max the min will be used.
  901.  
  902.         You shoul used PIX ones only for columns with images,
  903.         and COL ones when you want to be sure to get as many
  904.         chars you want.
  905.  
  906.         All chars/images will be drawn for the last column
  907.         always, you should specify some width for it anyway
  908.         as it will be used for centered and right aligned texts !
  909.  
  910.         Default values : WEIGHT=-1, MINWIDTH=5, MAXWIDTH=10000.
  911.  
  912.         Use MINWIDTH=0 if you don't use PIXWIDTH or COLWIDTH and
  913.         don't want any min value.
  914.  
  915.         If you want to use WEIGHT values as percentage of the list
  916.         width, just choose them to have their total being 100.
  917.  
  918.         WEIGHT = -1 mean that you want the column to have
  919.         the width of the largest entry's column contents.
  920.         MINWIDTH = -1 have the same meaning as for WEIGHT but for
  921.         the min value.
  922.         -1 will be replaced by 100 for the last column, anyway you
  923.         can set -2 if you really want to force it.
  924.  
  925.         Be aware that it can take long time to do that when there
  926.         are many entries since this need a call to the dislpayhook,
  927.         parse and find real length of all entries.
  928.         Anyway using such stuff for one or more column has the
  929.         same overhead.
  930.  
  931.         The default list format is an empty string (""), this
  932.         means a one column list without special formatting.
  933.  
  934.     NOTE
  935.         Actually MUIA_NList_Format will not try to see if the new
  936.         format is similar to previous one. It means that all
  937.         column width will be re-computed (and all entries parsed
  938.         if WEIGHT or MINWIDTH is -1), same for wrapping
  939.         which will be recomputed for all entries.
  940.         So, it's better to do it before inserting entries
  941.         if you want to do both.
  942.         If you want to clear, insert, and set the format, the
  943.         best is to set the format after the clear (fastest, no
  944.         entry to parse) and before the insert.
  945.  
  946.     BUGS (FEATURE)
  947.         Currently there is a maximum of 64 columns for a list.
  948.  
  949.     SEE ALSO
  950.         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator.
  951. NList.mcc/MUIA_NList_Horiz_DeltaFactor
  952.  
  953.     NAME
  954.         MUIA_NList_Horiz_DeltaFactor -- [..GN], LONG
  955.  
  956.     FUNCTION
  957.         Used for NListview. You can make a notification on it
  958.         if you want to attach your own horizontal scrollbar
  959.         and set the increment value of scrollbar's arrows :
  960.  
  961.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_DeltaFactor,MUIV_EveryTime,
  962.           SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
  963.  
  964.     SEE ALSO
  965.         MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
  966. NList.mcc/MUIA_NList_Horiz_Entries
  967.  
  968.     NAME
  969.         MUIA_NList_Horiz_Entries -- [..GN], LONG
  970.  
  971.     FUNCTION
  972.         Used for NListview. You can make a notification on it
  973.         if you want to attach your own horizontal scrollbar :
  974.  
  975.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Entries,MUIV_EveryTime,
  976.           SBobj, 3, MUIM_Set,MUIA_Prop_Entries,MUIV_TriggerValue);
  977.  
  978.     SEE ALSO
  979.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_First, MUIA_NList_Horiz_Visible
  980. NList.mcc/MUIA_NList_Horiz_First
  981.  
  982.     NAME
  983.         MUIA_NList_Horiz_First -- [.SGN], LONG
  984.  
  985.     FUNCTION
  986.         Used for NListview. You can make a notification on it
  987.         if you want to attach your own horizontal scrollbar :
  988.  
  989.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_First,MUIV_EveryTime,
  990.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_First,MUIV_TriggerValue);
  991.         DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  992.           NLobj, 3, MUIM_NoNotifySet,MUIA_NList_Horiz_First,MUIV_TriggerValue);
  993.  
  994.     SEE ALSO
  995.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_Visible
  996. NList.mcc/MUIA_NList_Horiz_Visible
  997.  
  998.     NAME
  999.         MUIA_NList_Horiz_Visible -- [..GN], LONG
  1000.  
  1001.     FUNCTION
  1002.         Used for NListview. You can make a notification on it
  1003.         if you want to attach your own horizontal scrollbar :
  1004.  
  1005.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Horiz_Visible,MUIV_EveryTime,
  1006.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
  1007.  
  1008.     SEE ALSO
  1009.         MUIA_NList_Horiz_DeltaFactor, MUIA_NList_Horiz_Entries, MUIA_NList_Horiz_First
  1010. NList.mcc/MUIA_NList_Input
  1011.  
  1012.     NAME
  1013.         MUIA_NList_Input -- [ISG], BOOL
  1014.  
  1015.     FUNCTION
  1016.         Same function as NListview.mcc/MUIA_Listview_Input.
  1017.  
  1018.     DEFAULT
  1019.         TRUE
  1020.  
  1021.     SEE ALSO
  1022.         MUIA_NList_MultiSelect
  1023. NList.mcc/MUIA_NList_InsertPosition
  1024.  
  1025.     NAME
  1026.         MUIA_NList_InsertPosition -- [..G], LONG
  1027.  
  1028.     FUNCTION
  1029.         Same function as List.mui/MUIA_List_InsertPosition.
  1030.  
  1031. NList.mcc/MUIA_NList_KeepActive
  1032.  
  1033.     NAME
  1034.         MUIA_NList_KeepActive -- [.S.], Obj *
  1035.  
  1036.     FUNCTION
  1037.         Usefull when MUIA_NList_DefaultObjectOnClick if you
  1038.         don't want the specified object to be desactivated.
  1039.         A NListview object set it to it's NList child at
  1040.         creation time, so you should not have to use that tag.
  1041.  
  1042.     SEE ALSO
  1043.         MUIA_NList_DefaultObjectOnClick,MUIA_NList_MakeActive
  1044. NList.mcc/MUIA_NList_LineHeight
  1045.  
  1046.     NAME
  1047.         MUIA_NList_LineHeight -- [..GN], LONG
  1048.  
  1049.     FUNCTION
  1050.         Get the current line height.
  1051. NList.mcc/MUIA_NList_MakeActive
  1052.  
  1053.     NAME
  1054.         MUIA_NList_MakeActive -- [.S.], Obj *
  1055.  
  1056.     FUNCTION
  1057.         Use it if you want an object to be activated when you click
  1058.         in the list object.
  1059.         If you want to be able to control the list with key, you
  1060.         should use MUIA_NList_DefaultObjectOnClick instead.
  1061.  
  1062.         If you use both MUIA_NList_MakeActive and
  1063.         MUIA_NList_DefaultObjectOnClick then the specified object
  1064.         will be activated only if there is already an active one.
  1065.  
  1066.         The only object which should be set should be the NListview
  1067.         parent object of the current NList one.
  1068.  
  1069.     SEE ALSO
  1070.         MUIA_NList_DefaultObjectOnClick,MUIA_NList_KeepActive
  1071. NList.mcc/MUIA_NList_MinLineHeight
  1072.  
  1073.     NAME
  1074.         MUIA_NList_MinLineHeight -- [IS.], LONG
  1075.  
  1076.     FUNCTION
  1077.         Same function as List.mui/MUIA_List_MinLineHeight.
  1078.  
  1079.         Sets the minimum line height for lists in pixels.
  1080.  
  1081.         If <= 0 then it's absolute value will replace the
  1082.         'Leading' value of prefs which is added to the
  1083.         font height.
  1084.  
  1085.         It seems that original MUIA_List_MinLineHeight use
  1086.         its positive value as a 'leading' one, which is not
  1087.         logical when i read its doc (!), so i do the
  1088.         change internally to get it works like with list...
  1089. NList.mcc/MUIA_NList_MultiClick
  1090.  
  1091.     NAME
  1092.         MUIA_NList_MultiClick -- [..GN], LONG
  1093.  
  1094.     FUNCTION
  1095.         You'll get a notify on it each time the user
  1096.         multiclicks more than 2 times on an entry in the
  1097.         list, or on the title. You'll get the number of
  1098.         the click (3, 4, 5...) for each. Note that you'll
  1099.         not get MUIA_NList_MultiClick for a double click;
  1100.         you must use MUIA_NList_DoubleClick for that.
  1101.         The time between each click must be less or equal
  1102.         to the double click time set in Amiga Input prefs.
  1103.  
  1104.         You can know on which entry the multiclick was made
  1105.         getting MUIA_NList_DoubleClick value.
  1106.  
  1107.         So you can make a notification on it.
  1108.  
  1109.     NOTE
  1110.         Disable for the title when MUIA_NList_TitleClick is used.
  1111.  
  1112.     SEE ALSO
  1113.         MUIA_NList_DoubleClick, MUIA_NList_TitleClick,
  1114.         MUIA_NList_EntryClick, MUIM_NList_TestPos.
  1115. NList.mcc/MUIA_NList_MultiSelect
  1116.  
  1117.     NAME
  1118.         MUIA_NList_MultiSelect -- (V7 ) [I..], LONG
  1119.  
  1120.     SPECIAL INPUTS
  1121.         MUIV_NList_MultiSelect_None
  1122.         MUIV_NList_MultiSelect_Default
  1123.         MUIV_NList_MultiSelect_Shifted
  1124.         MUIV_NList_MultiSelect_Always
  1125.  
  1126.     FUNCTION
  1127.         Same function as Listview.mui/MUIA_Listview_MultiSelect.
  1128.  
  1129.         < At the moment MultiSelect_Default is the same
  1130.         as MultiSelect_Shifted >
  1131.  
  1132.     SEE ALSO
  1133.         MUIA_NList_MultiTestHook
  1134. NList.mcc/MUIA_NList_MultiTestHook
  1135.  
  1136.     NAME
  1137.         MUIA_NList_MultiTestHook -- [IS.], struct Hook *
  1138.  
  1139.     FUNCTION
  1140.         Same function as List.mui/MUIA_List_MultiTestHook.
  1141.  
  1142.     SEE ALSO
  1143.         MUIA_NList_ConstructHook, MUIA_NList_DestructHook
  1144. NList.mcc/MUIA_NList_Pool
  1145.  
  1146.     NAME
  1147.         MUIA_NList_Pool -- [I..], APTR
  1148.  
  1149.     FUNCTION
  1150.         Same function as List.mui/MUIA_List_Pool.
  1151.  
  1152.     SEE ALSO
  1153.         MUIA_NList_PoolPuddleSize, MUIA_NList_PoolThreshSize
  1154. NList.mcc/MUIA_NList_PoolPuddleSize
  1155.  
  1156.     NAME
  1157.         MUIA_NList_PoolPuddleSize -- [I..], ULONG
  1158.  
  1159.     FUNCTION
  1160.         Same function as List.mui/MUIA_List_PoolPuddleSize.
  1161.  
  1162.     SEE ALSO
  1163.         MUIA_NList_PoolThreshSize, MUIA_NList_Pool
  1164. NList.mcc/MUIA_NList_PoolThreshSize
  1165.  
  1166.     NAME
  1167.         MUIA_NList_PoolThreshSize -- [I..], ULONG
  1168.  
  1169.     FUNCTION
  1170.         Same function as List.mui/MUIA_List_PoolThreshSize.
  1171.  
  1172.     SEE ALSO
  1173.         MUIA_NList_PoolPuddleSize, MUIA_NList_Pool
  1174. NList.mcc/MUIA_NList_PrivateData
  1175.  
  1176.     NAME
  1177.         MUIA_NList_PrivateData -- [ISG], APTR
  1178.  
  1179.     FUNCTION
  1180.         It's a private data of the object that is unused by NList.
  1181.         You can use it as you want, as for MUIA_UserData.
  1182.  
  1183.     SEE ALSO
  1184.         MUIA_NList_DisplayHook, MUIA_NList_CopyEntryToClipHook,
  1185.         MUIA_NList_CopyColumnToClipHook
  1186. NList.mcc/MUIA_NList_Prop_DeltaFactor
  1187.  
  1188.     NAME
  1189.         MUIA_NList_Prop_DeltaFactor -- [..GN], LONG
  1190.  
  1191.     FUNCTION
  1192.         Used for NListview. You can make a notification on it
  1193.         if you want to attach your own vertical scrollbar
  1194.         and set the increment value of scrollbar's arrows :
  1195.  
  1196.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_DeltaFactor,MUIV_EveryTime,
  1197.           SBobj, 3, MUIM_Set,MUIA_Prop_DeltaFactor,MUIV_TriggerValue);
  1198.  
  1199.     SEE ALSO
  1200.         MUIA_NList_Prop_Entries, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
  1201. NList.mcc/MUIA_NList_Prop_Entries
  1202.  
  1203.     NAME
  1204.         MUIA_NList_Prop_Entries -- [..GN], LONG
  1205.  
  1206.     FUNCTION
  1207.         Used for NListview. You can make a notification on it
  1208.         if you want to attach your own vertical scrollbar :
  1209.  
  1210.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Entries,MUIV_EveryTime,
  1211.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Entries,MUIV_TriggerValue);
  1212.  
  1213.     SEE ALSO
  1214.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_First, MUIA_NList_Prop_Visible
  1215. NList.mcc/MUIA_NList_Prop_First
  1216.  
  1217.     NAME
  1218.         MUIA_NList_Prop_First -- [.SGN], LONG
  1219.  
  1220.     FUNCTION
  1221.         Used for NListview. You can make a notification on it
  1222.         if you want to attach your own vertical scrollbar :
  1223.  
  1224.         DoMethod(NLobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1225.           SBobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
  1226.         DoMethod(SBobj, MUIM_Notify, MUIA_Prop_First,MUIV_EveryTime,
  1227.           NLobj, 3, MUIM_Set,MUIA_Prop_First,MUIV_TriggerValue);
  1228.  
  1229.     SEE ALSO
  1230.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_Visible
  1231. NList.mcc/MUIA_NList_Prop_Visible
  1232.  
  1233.     NAME
  1234.         MUIA_NList_Prop_Visible -- [..GN], LONG
  1235.  
  1236.     FUNCTION
  1237.         Used for NListview. You can make a notification on it
  1238.         if you want to attach your own vertical scrollbar :
  1239.  
  1240.         DoMethod(NLobj, MUIM_Notify, MUIA_NList_Prop_Visible,MUIV_EveryTime,
  1241.           SBobj, 3, MUIM_NoNotifySet,MUIA_Prop_Visible,MUIV_TriggerValue);
  1242.  
  1243.     SEE ALSO
  1244.         MUIA_NList_Prop_DeltaFactor, MUIA_NList_Prop_Entries, MUIA_NList_Prop_First
  1245. NList.mcc/MUIA_NList_Quiet
  1246.  
  1247.     NAME
  1248.         MUIA_NList_Quiet -- [.S.], BOOL
  1249.  
  1250.     FUNCTION
  1251.         Same function as List.mui/MUIA_List_Quiet.
  1252.  
  1253.         Think about using it when you insert/remove several entries
  1254.         one by one, it will go much faster.
  1255.  
  1256.     SEE ALSO
  1257.         MUIM_NList_Insert, MUIM_NList_Remove
  1258. NList.mcc/MUIA_NList_SelectChange
  1259.  
  1260.     NAME
  1261.         MUIA_NList_SelectChange -- [...N], BOOL
  1262.  
  1263.     FUNCTION
  1264.         Same function as Listview.mui/MUIA_Listview_SelectChange.
  1265.  
  1266.         A set(NLobj,MUIA_NList_SelectChange,TRUE) is made by NList
  1267.         whenever the selection state of one or more items in the
  1268.         list is changing.
  1269.  
  1270.     DEFAULT
  1271.         FALSE
  1272.  
  1273.     SEE ALSO
  1274.         MUIA_NList_MultiSelect
  1275. NList.mcc/MUIA_NList_ShowDropMarks
  1276.  
  1277.     NAME
  1278.         MUIA_NList_ShowDropMarks -- [ISG], BOOL
  1279.  
  1280.     FUNCTION
  1281.         Same function as List.mui/MUIA_List_ShowDropMarks.
  1282.  
  1283.     DEFAULT
  1284.         FALSE
  1285.  
  1286.     SEE ALSO
  1287.         MUIA_NList_DropMark
  1288. NList.mcc/MUIA_NList_SkipChars
  1289.  
  1290.     NAME
  1291.         MUIA_NList_SkipChars -- [ISG], char *
  1292.  
  1293.     FUNCTION
  1294.         Same function as Floattext.mui/MUIA_Floattext_SkipChars.
  1295. NList.mcc/MUIA_NList_SortType
  1296.  
  1297.     NAME
  1298.         MUIA_NList_SortType -- [ISG], LONG
  1299.  
  1300.     FUNCTION
  1301.         This value will be set in the NList_CompareMessage struct
  1302.         of MUIA_NList_CompareHook2 hook function.
  1303.  
  1304.         It is set by MUIM_List_Sort2 method too.
  1305.  
  1306.     SEE ALSO
  1307.         MUIA_NList_CompareHook2, MUIM_List_Sort2
  1308. NList.mcc/MUIA_NList_SourceArray
  1309.  
  1310.     NAME
  1311.         MUIA_NList_SourceArray -- [I..], APTR
  1312.  
  1313.     FUNCTION
  1314.         Same function as List.mui/MUIA_List_SourceArray.
  1315. NList.mcc/MUIA_NList_SourceInsert
  1316.  
  1317.     NAME
  1318.         MUIA_NList_SourceInsert -- [I..], struct MUIP_NList_InsertWrap *
  1319.  
  1320.     FUNCTION
  1321.         Same as DoMethod(obj,MUIM_NList_InsertWrap,...)
  1322.         with ... same as the contents of the passed struct,
  1323.         but at init.
  1324.  
  1325.     SEE ALSO
  1326.         MUIM_NList_InsertWrap
  1327. NList.mcc/MUIA_NList_SourceString
  1328.  
  1329.     NAME
  1330.         MUIA_NList_SourceString -- [I..], char *
  1331.  
  1332.     FUNCTION
  1333.         Same as
  1334.         DoMethod(obj,MUIM_List_Insert,string,-2,MUIV_NList_Insert_Bottom)
  1335.         but at init.
  1336.  
  1337.     SEE ALSO
  1338.         MUIM_List_Insert
  1339. NList.mcc/MUIA_NList_StackCheck
  1340.  
  1341.     NAME
  1342.         MUIA_NList_StackCheck -- [I..], BOOL
  1343.  
  1344.     FUNCTION
  1345.         Can be used to disable the stack checking done by NList.
  1346.         You should use it only if you make a stack exchange or if
  1347.         the stack has been changed for some other reason and is
  1348.         not compatible with the check.
  1349.  
  1350.     DEFAULT
  1351.         TRUE
  1352. NList.mcc/MUIA_NList_TabSize
  1353.  
  1354.     NAME
  1355.         MUIA_NList_TabSize -- [ISG], ULONG
  1356.  
  1357.     FUNCTION
  1358.         Same function as Floattext.mui/MUIA_Floattext_TabSize.
  1359.  
  1360.         Set how many spaces is the tabulation.
  1361.  
  1362.         Default is 8.
  1363. NList.mcc/MUIA_NList_Title
  1364.  
  1365.     NAME
  1366.         MUIA_NList_Title -- [ISG], char *
  1367.  
  1368.     FUNCTION
  1369.         Same function as List.mui/MUIA_List_Title.
  1370.  
  1371.         The title will be redraw each time you set it.
  1372.  
  1373.         When you use a display hook, its value is used as a BOOL/LONG
  1374.         which can have any value (just not NULL if you want to see it).
  1375.  
  1376.         The value returned by get() will be the same than the last one
  1377.         given in the set() or at init.
  1378.  
  1379.     SEE ALSO
  1380.         MUIA_NList_DisplayHook, MUIA_NList_TitleSeparator
  1381. NList.mcc/MUIA_NList_TitleClick
  1382.  
  1383.     NAME
  1384.         MUIA_NList_TitleClick -- [ISGN], LONG
  1385.  
  1386.     FUNCTION
  1387.         You'll get a notify on it each time the user
  1388.         clicks one the title (only if on a column, so not on the
  1389.         vertical bar column separator which is used to modify the
  1390.         column width with mouse).
  1391.  
  1392.         The returned value is the col number (display hook col number).
  1393.  
  1394.         If you get that value later, it will still be the latest
  1395.         *title* click col that you'll get.
  1396.  
  1397.         If you ask for a notify on that tag, or if you set it (with any
  1398.         value) the title will act as if each of its column titles were
  1399.         separated buttons, notifying that tag when there are released.
  1400.         There is no shortkeys for these custom buttons and never be,
  1401.         so think to give another way to access the related stuffs.
  1402.  
  1403.         Don't ask for customized frames for them :  there are not real
  1404.         MUI and separated buttons but directly handled by NList, and i
  1405.         found it nice as is.
  1406.  
  1407.         The (released) look for those title "buttons" will be better
  1408.         if you use MUIA_NList_TitleSeparator and BAR or TBAR for each
  1409.         column in the MUIA_NList_Format string.
  1410.  
  1411.     NOTE
  1412.         When you use MUIA_NList_TitleClick, you'll not receive
  1413.         MUIA_NList_DoubleClick and MUIA_NList_MultiClick when clicking
  1414.         on the title any more.
  1415.  
  1416.     SEE ALSO
  1417.         MUIM_NList_TestPos, MUIA_NList_DoubleClick, MUIA_NList_MultiClick,
  1418.         MUIA_NList_EntryClick, MUIA_NList_TitleSeparator, MUIA_NList_Format,
  1419.         MUIA_NList_ButtonClick, MUIM_NList_Sort2.
  1420. NList.mcc/MUIA_NList_TitleSeparator
  1421.  
  1422.     NAME
  1423.         MUIA_NList_TitleSeparator -- [ISG], BOOL
  1424.  
  1425.     FUNCTION
  1426.         If you set it, you get an horizontal bar between the
  1427.         title and the first visible entry (only when some title
  1428.         is visible).
  1429.  
  1430.     DEFAULT
  1431.         TRUE
  1432.  
  1433.     SEE ALSO
  1434.         MUIA_NList_Title
  1435. NList.mcc/MUIA_NList_TypeSelect
  1436.  
  1437.     NAME
  1438.         MUIA_NList_TypeSelect -- [IS.], LONG
  1439.  
  1440.     SPECIAL INPUTS
  1441.         MUIV_NList_TypeSelect_Line
  1442.         MUIV_NList_TypeSelect_Char
  1443.  
  1444.     FUNCTION
  1445.         Setting this tag you can choose between the classic
  1446.         list selection by line, or using a char precision
  1447.         selection.
  1448.  
  1449.         This should be used only for textviewer like stuff,
  1450.         and never for standard lists.
  1451.         Anyway its the only way to make direct copytoclip
  1452.         of a part of a line...
  1453.  
  1454.         Default is MUIV_NList_TypeSelect_Line of course.
  1455.  
  1456.     SEE ALSO
  1457.         MUIM_NList_Select, MUIM_List_Select
  1458. NList.mcc/MUIA_NList_Visible
  1459.  
  1460.     NAME
  1461.         MUIA_NList_Visible -- [..G], LONG
  1462.  
  1463.     FUNCTION
  1464.         Same function as List.mui/MUIA_List_Visible.
  1465.  
  1466.     SEE ALSO
  1467.         MUIA_NList_First, MUIA_NList_Entries, MUIA_NList_Active
  1468. NList.mcc/MUIA_NList_XXXBackground
  1469.  
  1470.     NAME
  1471.         MUIA_NList_TitleBackground -- [ISG], LONG
  1472.         MUIA_NList_ListBackground -- [ISG], LONG
  1473.         MUIA_NList_SelectBackground -- [ISG], LONG
  1474.         MUIA_NList_CursorBackground -- [ISG], LONG
  1475.         MUIA_NList_UnselCurBackground -- [ISG], LONG
  1476.  
  1477.     FUNCTION
  1478.         You can set all backgroungs of NList with these attributes,
  1479.         look at Area.mui/MUIA_Background and Image.mui/MUIA_Image_Spec
  1480.         to see what kind of value can be used.
  1481.         Anyway, you can set the defaults with prefs and so should
  1482.         not set it yourself.
  1483. NList.mcc/MUIA_NList_XXXPen
  1484.  
  1485.     NAME
  1486.         MUIA_NList_TitlePen -- [ISG], LONG
  1487.         MUIA_NList_ListPen -- [ISG], LONG
  1488.         MUIA_NList_SelectPen -- [ISG], LONG
  1489.         MUIA_NList_CursorPen -- [ISG], LONG
  1490.         MUIA_NList_UnselCurPen -- [ISG], LONG
  1491.  
  1492.     FUNCTION
  1493.         You can set all pens of NList with these attributes,
  1494.         look at Area.mui/MUIA_Background and Image.mui/MUIA_Image_Spec
  1495.         to see what kind of value can be used.
  1496.         Anyway, you can set the defaults with prefs and so should
  1497.         not set it yourself.
  1498. NList.mcc/MUIM_NList_Clear
  1499.  
  1500.     NAME
  1501.         MUIM_NList_Clear --
  1502.  
  1503.     SYNOPSIS
  1504.         DoMethod(obj,MUIM_NList_Clear,);
  1505.  
  1506.     FUNCTION
  1507.         Same function as List.mui/MUIM_List_Clear.
  1508.  
  1509.     SEE ALSO
  1510.         MUIM_NList_Insert, MUIA_NList_DestructHook
  1511. NList.mcc/MUIM_NList_ColWidth
  1512.  
  1513.     NAME
  1514.         MUIM_NList_ColWidth --
  1515.  
  1516.     SYNOPSIS
  1517.         DoMethod(obj,MUIM_NList_ColWidth,LONG col,LONG width);
  1518.  
  1519.     FUNCTION
  1520.         Set a width for a col as if changed by the user with mouse, or
  1521.         reset it to its default size.
  1522.         Permit to get the user width of a col too.
  1523.  
  1524.     INPUTS
  1525.         col     number of the col (numbered as in display hook).
  1526.  
  1527.                 special value :
  1528.               MUIV_NList_ColWidth_All     will set it for all columns.
  1529.  
  1530.         width   width to set (4 is the minimum width accepted).
  1531.  
  1532.                 special values :
  1533.               MUIV_NList_ColWidth_Default reset to default.
  1534.               MUIV_NList_ColWidth_Get     set nothing, only return current.
  1535.  
  1536.     RESULT
  1537.         When a col is specified (ie not MUIV_NList_ColWidth_All), the current
  1538.         *user* width of the col will be returned :
  1539.         -1 mean that the col has its default width, ie not set by the user
  1540.         or with this method.
  1541.         0 mean that the specified col is not valid. When MUIV_NList_ColWidth_All
  1542.         you'll get always 0.
  1543. NList.mcc/MUIM_NList_ColToColumn
  1544.  
  1545.     NAME
  1546.         MUIM_NList_ColToColumn --
  1547.  
  1548.     SYNOPSIS
  1549.         DoMethod(obj,MUIM_NList_ColToColumn,LONG col);
  1550.  
  1551.     FUNCTION
  1552.         converts display hook col number to visible column number.
  1553.  
  1554.     INPUTS
  1555.         col     number of the col (numbered as in display hook).
  1556.  
  1557.     RESULT
  1558.         column number, -1 if no column use that col number.
  1559.  
  1560.     SEE ALSO
  1561.         MUIM_NList_ColumnToCol
  1562. NList.mcc/MUIM_NList_ColumnToCol
  1563.  
  1564.     NAME
  1565.         MUIM_NList_ColumnToCol --
  1566.  
  1567.     SYNOPSIS
  1568.         DoMethod(obj,MUIM_NList_ColumnToCol,LONG column);
  1569.  
  1570.     FUNCTION
  1571.         converts visible column number to display hook col number.
  1572.  
  1573.     INPUTS
  1574.         column   number of the column (visible).
  1575.  
  1576.     RESULT
  1577.         col number, -1 if the column is not valid.
  1578.  
  1579.     SEE ALSO
  1580.         MUIM_NList_ColToColumn
  1581. NList.mcc/MUIM_NList_ContextMenuBuild
  1582.  
  1583.     NAME
  1584.         MUIM_NList_ContextMenuBuild --
  1585.  
  1586.     SYNOPSIS
  1587.         DoMethod(obj,MUIM_NList_ContextMenuBuild, LONG mx, LONG my, LONG pos,
  1588.                                                 LONG column, LONG flags,LONG ontop);
  1589.  
  1590.     FUNCTION
  1591.         Give possibilities to use MUIM_ContextMenuBuild builtin in NList
  1592.         and a custom context menu for a NList subclass.
  1593.  
  1594.         Here is how NList MUIM_ContextMenuBuild work :
  1595.  
  1596.         If MUIA_ContextMenu is NULL, NULL is returned (no menu).
  1597.  
  1598.         If MUIA_ContextMenu is none of special values, the supermethod is called.
  1599.  
  1600.         If MUIA_ContextMenu is MUIV_NList_ContextMenu_Never, MUIA_ContextMenu is
  1601.         set to NULL and NULL is returned.
  1602.  
  1603.         Else (it's a special value) MUIM_NList_ContextMenuBuild is called :
  1604.  
  1605.           If MUIM_NList_ContextMenuBuild return -1, NULL will be returned (no menu).
  1606.  
  1607.           If MUIM_NList_ContextMenuBuild return NULL, NList will return its own
  1608.           context menu, depending on prefs (it's the default case).
  1609.  
  1610.           If MUIM_NList_ContextMenuBuild return an menu object, NList will
  1611.           enable/disable its own menu entries in the menu if it found some,
  1612.           then return thqt object.
  1613.  
  1614.           2 special menuitems are reconized by NList, and are found by :
  1615.             DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_This)
  1616.           and
  1617.             DoMethod(MenuObj,MUIM_FindUData,MUIV_NList_Menu_Default_All)
  1618.  
  1619.  
  1620.  
  1621.         MUIA_ContextMenu special values are actuallly used :
  1622.  
  1623.           MUIV_NList_ContextMenu_Default   replaced by one of followings.
  1624.           MUIV_NList_ContextMenu_TopOnly   only on title/top of list.
  1625.           MUIV_NList_ContextMenu_Always    always.
  1626.           MUIV_NList_ContextMenu_Never     never, repaced by NULL after.
  1627.  
  1628.           when using MUIV_NList_ContextMenu_TopOnly NList will set MUIA_ContextMenu
  1629.           NULL/non-NULL when the mouse move, which should permit to have
  1630.           the window menu avaible when the contents menu is not visible.
  1631.  
  1632.           Anyway actually (MUI 3.8) MUI has a bug/feature which make the
  1633.           MUIA_ContextMenu being looked at only when the mouse *enter*
  1634.           within the object bounds. MUIV_NList_ContextMenu_TopOnly stuff
  1635.           will be nicer when that MUI problem is fixed...
  1636.  
  1637.         Of course if you want NList to do what has to be done when a menu item
  1638.         has been selected, your MUIM_ContextMenuChoice should call the supermethod.
  1639.  
  1640.     INPUTS (for MUIM_NList_ContextMenuBuild)
  1641.  
  1642.         mx      current mouse x.
  1643.         my      current mouse y.
  1644.         pos     entry number returned by NList_TestPos.
  1645.         column  column returned by NList_TestPos.
  1646.         flags   flags returned by NList_TestPos.
  1647.         ontop  TRUE if mouse is on title/top of the list.
  1648.  
  1649.     RESULT
  1650.         NULL, -1 or a menustrip object.
  1651.  
  1652.     EXEMPLES
  1653.         To make a ContextMenu but have the NList one appear when the
  1654.         mouse in on title/top, just set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
  1655.         and make MUIM_NList_ContextMenuBuild return NULL when ontop in TRUE (else
  1656.         return your menustrip object). Call MUIM_ContextMenuChoice supermethod too.
  1657.  
  1658.         To make your own context menu which have the same menuitems as ones
  1659.         in NList context menu, set MUIA_ContextMenu,MUIV_NList_ContextMenu_Always
  1660.         and make MUIM_NList_ContextMenuBuild return always your menustrip object.
  1661.         Make 2 menuitems in your menustrip object which will be like these :
  1662.         { NM_ITEM ,  "Default this" , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_Default_This },
  1663.         { NM_ITEM ,  "Default all"  , 0 ,0 ,0 ,(APTR) MUIV_NList_Menu_Default_All },
  1664.         They will be automatically enabled/disabled as needed by NList  :)
  1665.         Call MUIM_ContextMenuChoice supermethod too.
  1666. NList.mcc/MUIM_NList_CopyTo
  1667.  
  1668.     NAME
  1669.         MUIM_NList_CopyTo --
  1670.  
  1671.     SYNOPSIS
  1672.         DoMethod(obj,MUIM_NList_CopyTo, LONG pos, char *filename,
  1673.                                         APTR *result, APTR *entries);
  1674.  
  1675.     FUNCTION
  1676.         Do a copy to clipboard from some list entries or strings.
  1677.  
  1678.     INPUTS
  1679.         pos      entry number to be copied.
  1680.                  if MUIA_NList_CopyToClipHook is specified, it's what
  1681.                  it will return which will be copied instead of just
  1682.                  using the entry pointer as a string pointer.
  1683.  
  1684.                  special values :
  1685.  
  1686.             MUIV_NList_CopyTo_Active    copy list active entry
  1687.             MUIV_NList_CopyTo_Selected  copy list selected entries
  1688.             MUIV_NList_CopyTo_All       copy all list entries
  1689.             MUIV_NList_CopyTo_Entries   copy specified entries
  1690.             MUIV_NList_CopyTo_Entry     copy specified entry
  1691.  
  1692.             a "\n" will be insert after each entry contents.
  1693.  
  1694.         filename name of the file to copy to. If NULL then the copy will be
  1695.                  done to a string (strptr).
  1696.         result   LONG pointer which fill be filled with MUIV_NLCT_Success if
  1697.                  no error occured while opening and writing in the file, else
  1698.                  it will be filled with MUIV_NLCT_OpenErr, MUIV_NLCT_WriteErr
  1699.                  or MUIV_NLCT_Failed (failed somewhere when making copy data).
  1700.  
  1701.                  if filename is NULL, result will be filled with a string pointer
  1702.                  to a string allocated by AllocVec(). Datas will have been copied
  1703.                  in that string. YOU'LL HAVE TO FREE TAHT string pointer YOURSELF,
  1704.                  with a FreeVec(). If the returned string pointer is NULL then
  1705.                  the copy failed.
  1706.         entries  pointer to some entry, string, entries array or string array.
  1707.                  Its use depend on the pos value :
  1708.                  if MUIV_NList_CopyTo_Entry   then it's an entry pointer.
  1709.                  if MUIV_NList_CopyTo_Entries then it's an entry pointer
  1710.                                               array NULL terminated.
  1711.                  else :  not used, set to NULL.
  1712.  
  1713.     EXEMPLES
  1714.         LONG result = 0;
  1715.         DoMethod(obj,MUIM_NList_CopyTo, 5, "RAM:test.txt", &result, NULL, NULL);
  1716.  
  1717.           will copy the 5th entry to file RAM:test.txt, using
  1718.           MUIA_NList_CopyToClipHook if set.
  1719.  
  1720.  
  1721.         LONG result = 0;
  1722.         DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyToClip_Selected,
  1723.                                             "PRT:", &result, NULL, NULL);
  1724.           will copy all selected entries to printer, using
  1725.           MUIA_NList_CopyToClipHook for each if set.
  1726.  
  1727.  
  1728.         char *strptr = NULL;
  1729.         DoMethod(obj,MUIM_NList_CopyTo, MUIV_NList_CopyTo_All,
  1730.                                             NULL, &strptr, NULL, NULL);
  1731.           will copy all list entries to the string returned in strptr.
  1732.           you must make a FreeVec(strptr) by yourself after.
  1733.  
  1734.     SEE ALSO
  1735.         MUIM_NList_CopyToClip, MUIA_NList_CopyToClipHook
  1736. NList.mcc/MUIM_NList_CopyToClip
  1737.  
  1738.     NAME
  1739.         MUIM_NList_CopyToClip --
  1740.  
  1741.     SYNOPSIS
  1742.         DoMethod(obj,MUIM_NList_CopyToClip, LONG pos, ULONG clipnum,
  1743.                                             APTR *entries, struct Hook *hook);
  1744.  
  1745.     FUNCTION
  1746.         Do a copy to clipboard from some list entries or strings.
  1747.  
  1748.     INPUTS
  1749.         pos      entry number to be copied.
  1750.                  if MUIA_NList_CopyToClipHook is specified, it's what
  1751.                  it will return which will be copied instead of just
  1752.                  using the entry pointer as a string pointer.
  1753.  
  1754.                  special values :
  1755.  
  1756.             MUIV_NList_CopyToClip_Active    copy list active entry
  1757.             MUIV_NList_CopyToClip_Selected  copy list selected entries
  1758.             MUIV_NList_CopyToClip_All       copy all list entries
  1759.             MUIV_NList_CopyToClip_Entries   copy specified entries
  1760.             MUIV_NList_CopyToClip_Entry     copy specified entry
  1761.             MUIV_NList_CopyToClip_Strings   copy specified strings using hook
  1762.             MUIV_NList_CopyToClip_String    copy specified string using hook
  1763.  
  1764.             a "\n" will be insert after each entry contents, for all but
  1765.             MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String.
  1766.  
  1767.         clipnum  clipboard number to copy to.
  1768.         entries  pointer to some entry, string, entries array or string array.
  1769.                  Its use depend on the pos value :
  1770.                  if MUIV_NList_CopyToClip_Entry   then it's an entry pointer.
  1771.                  if MUIV_NList_CopyToClip_Entries then it's an entry pointer
  1772.                                                   array NULL terminated.
  1773.                  if MUIV_NList_CopyToClip_String  then it's a string pointer.
  1774.                  if MUIV_NList_CopyToClip_Strings then it's an string pointer
  1775.                                                   array NULL terminated.
  1776.                  else :  not used, set to NULL.
  1777.         hook     hook function which will be used (if not NULL) for
  1778.                  MUIV_NList_CopyToClip_Strings and
  1779.                  MUIV_NList_CopyToClip_String
  1780.                  instead of MUIA_NList_CopyToClipHook
  1781.                  Should be NULL most of time.
  1782.  
  1783.     EXEMPLES
  1784.         DoMethod(obj,MUIM_NList_CopyToClip, 5, 0, NULL, NULL);
  1785.           will copy the 5th entry to clipboard 0, using
  1786.           MUIA_NList_CopyToClipHook if set.
  1787.  
  1788.         DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_Selected,
  1789.                                             0, NULL, NULL);
  1790.           will copy all selected entries to clipboard 0, using
  1791.           MUIA_NList_CopyToClipHook for each if set.
  1792.  
  1793.         DoMethod(obj,MUIM_NList_CopyToClip, MUIV_NList_CopyToClip_String,
  1794.                                             0, "my string", NULL);
  1795.           will copy "my string" to clipboard 0.
  1796.  
  1797.     NOTE
  1798.         MUIV_NList_CopyToClip_Strings and MUIV_NList_CopyToClip_String
  1799.         are here to permit simple text copy to clipboard for non nlist
  1800.         object related stuff (anyway a NList object must be here to use
  1801.         them...). They can use their own hook instead of nlist one if
  1802.         non NULL, anyway look at MUIA_NList_CopyToClipHook to see how
  1803.         this hook will be used.
  1804.  
  1805.     SEE ALSO
  1806.         MUIA_NList_CopyToClipHook, MUIA_NList_CopyToClip_Key, MUIM_NList_CopyTo
  1807. NList.mcc/MUIM_NList_CreateImage
  1808.  
  1809.     NAME
  1810.         MUIM_NList_CreateImage --
  1811.  
  1812.     SYNOPSIS
  1813.         DoMethod(obj,MUIM_NList_CreateImage,Object *imgobj, ULONG flags);
  1814.  
  1815.     FUNCTION
  1816.         Same function as List.mui/MUIM_List_CreateImage.
  1817.  
  1818.         Any transparent color in the source Bitmap/Bodychunk
  1819.         object will work (except if flags is ~0L).
  1820.  
  1821.         You must use MUIM_NList_CreateImage in Setup() or after
  1822.         and MUIM_NList_DeleteImage in Cleanup() or before,
  1823.         because the mri of the NList object must be valid.
  1824.         Setup() and Cleanup() are the best because MUI_ObtainPen()
  1825.         and MUI_ReleasePen() are used, and then pens will be
  1826.         released while iconification and will be re-obtained
  1827.         if the screen change.
  1828.  
  1829.         Take a look at MUIM_NList_UseImage which is far easier to
  1830.         use.
  1831.  
  1832.         If flags is ~0L then FillArea will not be set to FALSE on the object
  1833.         (it is done when any with all other values of flags)
  1834.  
  1835.         The flags value must be ~0 when the imgobj is a Bitmap/Bodychunk,
  1836.         in that case the object will be used as non Bitmap/Bodychunk ones
  1837.         (see below).
  1838.  
  1839.  
  1840.         The imgobj can (nearly) be any object, but take care of that :
  1841.  
  1842.         - the object should not test and use user inputs, the object
  1843.           should just be able to draw itself within the _left(obj),
  1844.           _top(obj), _width(obj) and height(obj) it will have when its
  1845.           Draw method is called.
  1846.         - the object class MUST NOT be Group or subclass of it.
  1847.         - the given imgobj must not be attached to any group object
  1848.           anywhere else, because a ADDMEMBER will be done with it.
  1849.         - Each imgobj can be used with one and only one NList object.
  1850.         - you can use the return pointer with ESC O[<ptr>] and ESC o[<num>].
  1851.         - the object will receive two tags just before its Draw method will
  1852.           be called : set(imgobj,MUIA_NLIMG_EntryCurrent,current_entry_number) and
  1853.           set(imgobj,MUIA_NLIMG_EntryHeight,height_of_each_entry_of_the_list)
  1854.           which are usefull in some case to draw things (see demo example).
  1855.         - a new stuff is to use it with ESC O[<ptr>;<tag>;<value>], in that case
  1856.           a set(imgobj,tag,value) will be done just before drawing it, so
  1857.           you can make an object which will draw different things when that tag
  1858.           value is changed. Setting this tag MUST NOT make the object being
  1859.           redrawn !!!
  1860.           <tag> and <value> must both be in hexadecimal (%lx).
  1861.         - if you use ;<tag>;<value> in one ESC sequence for an imgobj, you should
  1862.           use it everywhere you use that imgobj because there is no default for it.
  1863.         - The imgobj height will always be set to the entries height.
  1864.         - The mindefheight of imgobj will become the min height for entries.
  1865.         - Think it's still a new testing stuff...
  1866.  
  1867.         Note:
  1868.           Previously the object was disposed by NList at its end, actually a call
  1869.           to MUIM_NList_DeleteImage will REMMEMBER it, and so you have to dispose
  1870.           it yourself after !
  1871.  
  1872.         Look the demo program to see a way to use it...
  1873.  
  1874.  
  1875.     RESULT
  1876.         The result you get is a struct BitMapImage pointer which
  1877.         will exist between the MUIM_NList_CreateImage and
  1878.         MUIM_NList_DeleteImage, with a valid bitmap, width and
  1879.         height for the current screen.
  1880.  
  1881.         If you use it for a non Bitmap/Bodychunk object (or with flags
  1882.         set to ~0L) then the mask and imgbmp fields of the returned
  1883.         struct BitMapImage are not valid, and obtainpens is a pointer to
  1884.         the object.
  1885.  
  1886.         The only thing you should do with it is to include it in
  1887.         \33O[%08lx]. The result may be NULL in which case NList
  1888.         was unable to create the image, but the \33O[] combination
  1889.         simply draws nothing when receiving a NULL.
  1890.  
  1891.         ATTENTION:
  1892.         The returned pointer doesn't give the same structure than
  1893.         MUIM_List_CreateImage (in standard List class) would do :
  1894.         both are not compatible at all !
  1895.  
  1896.     SEE ALSO
  1897.         MUIM_NList_DeleteImage, MUIM_NList_UseImage
  1898. NList.mcc/MUIM_NList_DeleteImage
  1899.  
  1900.     NAME
  1901.         MUIM_NList_DeleteImage --
  1902.  
  1903.     SYNOPSIS
  1904.         DoMethod(obj,MUIM_NList_DeleteImage,APTR listimg);
  1905.  
  1906.     FUNCTION
  1907.         Same function as List.mui/MUIM_List_DeleteImage.
  1908.  
  1909.         Delete the image pointer returned from MUIM_NList_CreateImage.
  1910.         Read explains in MUIM_NList_CreateImage.
  1911.  
  1912.     SEE ALSO
  1913.         MUIM_NList_CreateImage, MUIM_NList_UseImage
  1914. NList.mcc/MUIM_NList_DoMethod
  1915.  
  1916.     NAME
  1917.         MUIM_NList_DoMethod --
  1918.  
  1919.     SYNOPSIS
  1920.         DoMethod(obj,MUIM_NList_DoMethod,LONG pos,
  1921.                       APTR DestObj,ULONG FollowParams,ULONG method,...);
  1922.  
  1923.     FUNCTION
  1924.         The given method will be executed for each selected entry, the
  1925.         active entry, all entries, or one specified entry of the NList
  1926.         object.
  1927.  
  1928.         Each DoMethod() can be done on the NList object, its _app object,
  1929.         a specified object, or the entry pointer if (and only if) it's
  1930.         an object.
  1931.  
  1932.         Following arguments can be automatically adjusted for each call
  1933.         using special values, like in the MUIM_Notify method (you must
  1934.         specified the numer of following argument too, as there will be
  1935.         copied in a temporary buffer - alloced in the stack).
  1936.  
  1937.     INPUTS
  1938.         pos -           the entry number for which you want to do the method.
  1939.  
  1940.           special values :
  1941.           MUIV_NList_DoMethod_Active    do it for the active entry.
  1942.           MUIV_NList_DoMethod_Selected  do it for all selected entries.
  1943.           MUIV_NList_DoMethod_All       do it
  1944.  
  1945.         DestObj -       the object on which the method will be done.
  1946.  
  1947.           special values :
  1948.           MUIV_NList_DoMethod_Entry     use entry pointer as target object for method.
  1949.           MUIV_NList_DoMethod_Self      use the NList object as target for method.
  1950.           MUIV_NList_DoMethod_App       use the _app(NList object) as target for method.
  1951.  
  1952.         FollowParams -  the number of following parameters (including "method").
  1953.                         (maximum 40 to prevent errors and stack overflow)
  1954.  
  1955.         method -        the method which will be done.
  1956.  
  1957.         ... -           the method parameters.
  1958.  
  1959.           special values :
  1960.           MUIV_NList_EntryValue         replaced by the "current" entry pointer.
  1961.           MUIV_NList_EntryPosValue      replaced by the "current" entry number.
  1962.           MUIV_NList_SelfValue          replaced by the NList object.
  1963.           MUIV_NList_AppValue           replaced by _app(NList object)
  1964.  
  1965.     NOTES
  1966.         Don't use this to do things on the NList object when a specific way
  1967.         to do it exists (don't use it to remove entries in the nlist object
  1968.         itself for example).
  1969.  
  1970.         When using it in a notification, MUIV_TriggerValue and MUIV_TriggerValue
  1971.         special values will be replaced by the notify superclass as usual.
  1972.  
  1973.     EXAMPLES
  1974.         Insert all entries from nlist L1 to nlist L2 :
  1975.  
  1976.         DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_All,
  1977.           L2, 3,
  1978.           MUIM_NList_InsertSingle, MUIV_NList_EntryValue, MUIV_NList_Insert_Bottom);
  1979.  
  1980.         (it would be better to make set(L2,MUIA_NList_Quiet,TRUE) before and
  1981.          set(L2,MUIA_NList_Quiet,FALSE) after when there are many entries...)
  1982.  
  1983.  
  1984.         If the entries of nlist L1 are objects (and only in that case), you can do
  1985.         that to call a method (MUIM_Foo,x) for each selected of them :
  1986.  
  1987.         DoMethod(L1, MUIM_NList_DoMethod, MUIV_NList_DoMethod_Selected,
  1988.           MUIV_NList_DoMethod_Entry, 2,
  1989.           MUIM_Foo,x);
  1990. NList.mcc/MUIM_NList_DropDraw
  1991.  
  1992.     NAME
  1993.         MUIM_NList_DropDraw --
  1994.  
  1995.     SYNOPSIS
  1996.         DoMethod(obj,MUIM_NList_DropDraw, LONG pos, LONG type,
  1997.                                           LONG minx,LONG maxx,LONG miny,LONG maxy);
  1998.  
  1999.     FUNCTION
  2000.         This method MUST NOT be called directly !
  2001.  
  2002.         It will be called by NList, and will draw the drop mark previously fixed
  2003.         (pos and type) by MUIM_NList_DropType within the minx, maxx, miny, maxy
  2004.         in the _rp(obj) rasport. You must not draw outside of the given box,
  2005.         because only the corresponding NList entry will be refreshed to erase what
  2006.         is drawn in that method.
  2007.  
  2008.         Calling the supermethod (so the builtin MUIM_NList_DropDraw method) will draw
  2009.         the standard dropmark specified by (type & MUIV_NList_DropType_Mask), so
  2010.         MUIV_NList_DropType_None,MUIV_NList_DropType_Above,MUIV_NList_DropType_Below
  2011.         or MUIV_NList_DropType_Onto.
  2012.  
  2013.         You can draw directly in the rastport (or a clone of it) in that method,
  2014.         because it will be called from the Draw method within the DragReport in
  2015.         Refresh mode.
  2016.  
  2017.     SEE ALSO
  2018.         MUIM_NList_DropType, MUIA_NList_DropType, MUIA_NList_DropMark,
  2019.         MUIM_NList_DropEntryDrawErase
  2020. NList.mcc/MUIM_NList_DropEntryDrawErase
  2021.  
  2022.     NAME
  2023.         MUIM_NList_DropEntryDrawErase --
  2024.  
  2025.     SYNOPSIS
  2026.         DoMethod(obj,MUIM_NList_DropEntryDrawErase,LONG type,LONG drawpos,LONG erasepos);
  2027.  
  2028.     FUNCTION
  2029.         This method MUST NOT be called directly !
  2030.  
  2031.         It will be called by NList while the DragReport just before the redraw
  2032.         which will draw a new mark or erase the old one.
  2033.  
  2034.         This method can be used to change something so your displayhook will return
  2035.         something different for the marked entry, like changing its color or making
  2036.         it bold or italic.
  2037.  
  2038.         Don't call the superclass unless you know that the superclass use it.
  2039.  
  2040.         You should return 0.
  2041.  
  2042.     INPUTS
  2043.         type has the same meaning as *type in MUIM_NList_DropType, it will be useless
  2044.         in most cases (and has no meanning at all for erasepos).
  2045.  
  2046.         drawpos is the entry number which will be draw with a dropmark, -1 mean none.
  2047.  
  2048.         erasepos is the entry number which is not any more the dropmark one, -1 mean none.
  2049.  
  2050.     SEE ALSO
  2051.         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark
  2052. NList.mcc/MUIM_NList_DropType
  2053.  
  2054.     NAME
  2055.         MUIM_NList_DropType --
  2056.  
  2057.     SYNOPSIS
  2058.         DoMethod(obj,MUIM_NList_DropType, LONG *pos,LONG *type,
  2059.                                           LONG minx,LONG maxx,LONG miny,LONG maxy,
  2060.                                           LONG mousex,LONG mousey);
  2061.  
  2062.     FUNCTION
  2063.         This method MUST NOT be called directly !
  2064.  
  2065.         It will be called by NList while the DragReport, with default *pos and *type
  2066.         values depending on the drag pointer position that you can modify as you want.
  2067.  
  2068.         Default *type can be MUIV_NList_DropType_Above or MUIV_NList_DropType_Below.
  2069.         You can change it to any of MUIV_NList_DropType_None,MUIV_NList_DropType_Above,
  2070.         MUIV_NList_DropType_Below and MUIV_NList_DropType_Onto if you want, using
  2071.         the mouse position and the entry box.
  2072.  
  2073.         You can make you own *type value as soon as you don't set it in
  2074.         MUIV_NList_DropType_Mask, and so draw what you want depending on that value
  2075.         in the MUIM_NList_DropDraw method.
  2076.  
  2077.         Note that any MUIV_NList_DropType_Below *type will be changed to
  2078.         MUIV_NList_DropType_Above with a *pos incremented by 1 just after the
  2079.         return of that method.
  2080.  
  2081.         If you change the *pos, the list will be scrolled to see it (if the value is
  2082.         correct).
  2083.  
  2084.         getting MUIA_NList_DropType or MUIA_NList_DropMark will return the same values
  2085.         as *pos and *type.
  2086.  
  2087.         If your subclass is a direct NList subclass, then there is no need to call
  2088.         the supermethod which done nothing at all !
  2089.  
  2090.     SEE ALSO
  2091.         MUIM_NList_DropDraw, MUIA_NList_DropType, MUIA_NList_DropMark,
  2092.         MUIM_NList_DropEntryDrawErase
  2093. NList.mcc/MUIM_NList_Exchange
  2094.  
  2095.     NAME
  2096.         MUIM_NList_Exchange --
  2097.  
  2098.     SYNOPSIS
  2099.         DoMethod(obj,MUIM_NList_Exchange,LONG pos1, LONG pos2);
  2100.  
  2101.     FUNCTION
  2102.         Same function as List.mui/MUIM_List_Exchange.
  2103.  
  2104.         Exchange two entries in a NList object.
  2105.  
  2106.     INPUTS
  2107.         pos1 - number of the first entry.
  2108.         pos2 - number of the second entry.
  2109.  
  2110.         MUIV_NList_Exchange_Top
  2111.         MUIV_NList_Exchange_Active
  2112.         MUIV_NList_Exchange_Bottom
  2113.         MUIV_NList_Exchange_Next      only valid for second parameter
  2114.         MUIV_NList_Exchange_Previous  only valid for second parameter
  2115.  
  2116.     SEE ALSO
  2117.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Move
  2118. NList.mcc/MUIM_NList_GetEntry
  2119.  
  2120.     NAME
  2121.         MUIM_NList_GetEntry --
  2122.  
  2123.     SYNOPSIS
  2124.         DoMethod(obj,MUIM_NList_GetEntry,LONG pos, APTR *entry);
  2125.  
  2126.     FUNCTION
  2127.         Same function as List.mui/MUIM_List_GetEntry.
  2128.  
  2129.     SPECIAL INPUTS
  2130.         MUIV_NList_GetEntry_Active    give active entry (or NULL if none)
  2131.  
  2132.     SEE ALSO
  2133.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_GetEntryInfo
  2134. NList.mcc/MUIM_NList_GetEntryInfo
  2135.  
  2136.     NAME
  2137.         MUIM_NList_GetEntryInfo --
  2138.  
  2139.     SYNOPSIS
  2140.         DoMethod(obj,MUIM_NList_GetEntryInfo,struct MUI_NList_GetEntryInfo *res);
  2141.  
  2142.     FUNCTION
  2143.         You get usefull informations about some entry from its number,
  2144.         or from the real line number which can be different when there
  2145.         is word wrap in the list.
  2146.  
  2147.     INPUTS
  2148.         res - pointer to a MUI_NList_GetEntryInfo struct :
  2149.               LONG pos;       number of entry you want info about */
  2150.               LONG line;      real line number */
  2151.               LONG entry_pos; entry number of returned entry ptr */
  2152.               APTR entry;     entry pointer */
  2153.               LONG wrapcol;   NOWRAP, WRAPCOLx, or WRAPPED|WRAPCOLx */
  2154.               LONG charpos;   start char number in string (unused if NOWRAP) */
  2155.               LONG charlen;   string lenght (unused if NOWRAP) */
  2156.  
  2157.               if pos is MUIV_NList_GetEntryInfo_Line then the method will
  2158.               use the line number to search infos, else line will be set
  2159.               to its correct number for the value of pos.
  2160.               entry is the entry ptr, think that if it's a word wrapped
  2161.               entry then it come from the returned entry_pos entry.
  2162.               Think too that if wrapcol tell you that it's a WRAPPED entry,
  2163.               only the WRAPCOLx col is drawn, from the charpos position
  2164.               in the string returned by DisplayHook for the column and for
  2165.               entry_pos/entry.
  2166.  
  2167.     SEE ALSO
  2168.         MUIM_NList_GetEntry
  2169. NList.mcc/MUIM_NList_GetSelectInfo
  2170.  
  2171.     NAME
  2172.         MUIM_NList_GetSelectInfo --
  2173.  
  2174.     SYNOPSIS
  2175.         DoMethod(obj,MUIM_NList_GetSelectInfo,struct MUI_NList_GetSelectInfo *res);
  2176.  
  2177.     FUNCTION
  2178.         You get usefull informations about selected entries state.
  2179.  
  2180.     INPUTS
  2181.         res - pointer to a MUI_NList_GetSelectInfo struct :
  2182.             LONG start        num of first selected *REAL* entry/line (first of wrapped from which start is issued)
  2183.             LONG end          num of last selected *REAL* entry/line (first of wrapped from which start is issued)
  2184.             LONG num          not used
  2185.             LONG start_column column of start of selection in 'start' entry
  2186.             LONG end_column   column of end of selection in 'end' entry
  2187.             LONG start_pos    char pos of start of selection in 'start_column' entry
  2188.             LONG end_pos      char pos of end of selection in 'end_column' entry
  2189.             LONG vstart       num of first visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
  2190.             LONG vend         num of last visually selected entry (ie can be the 2nd or 3rd line of a word wrap entry)
  2191.             LONG vnum         number of visually selected entries
  2192.  
  2193.     NOTE
  2194.         If no entry is selected, then start, end, vstart, vend are -1, vnum is 0.
  2195.  
  2196.         When start_column, end_column, start_pos, end_pos are -1 then the whole line/entry/column
  2197.         is selected.
  2198.  
  2199.         start_column, end_columb, start_pos and end_pos have the same meaning than
  2200.         parameters passed to the MUIA_NList_CopyEntryToClipHook.
  2201.  
  2202.         remember than in case of automatically added word wrapped entries, only
  2203.         the concerned column have any contents. You get that case for 'vstart'
  2204.         when 'start' is different, and for 'end' when 'vend' is different.
  2205. NList.mcc/MUIM_NList_Insert
  2206.  
  2207.     NAME
  2208.         MUIM_NList_Insert --
  2209.  
  2210.     SYNOPSIS
  2211.         DoMethod(obj,MUIM_NList_Insert,APTR *entries, LONG count, LONG pos);
  2212.  
  2213.     FUNCTION
  2214.         Same function as List.mui/MUIM_List_Insert.
  2215.  
  2216.         Entry (display) contents will be display until \0 , \n or \r.
  2217.  
  2218.         You can insert a multiline string with count==-2.
  2219.  
  2220.     INPUTS
  2221.         entries - pointer to an array of pointers to be inserted.
  2222.                   Warning: This is a pointer to a pointer.
  2223.  
  2224.                   It's a pointer to string if count==-2.
  2225.  
  2226.         count   - Number of elements to be inserted. If count==-1,
  2227.                   entries will be inserted until NULL pointer in
  2228.                   the entries array is found.
  2229.  
  2230.                   If count==-2 then entries must be a string pointer
  2231.                   which can be multiline with \n , \r or \r\n separators.
  2232.                   You'll get as many entries inserted as lines in the string.
  2233.                   The end char is \0.
  2234.  
  2235.         pos     - New entries will be added in front of this entry.
  2236.                 MUIV_NList_Insert_Top     insert as first entry.
  2237.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2238.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2239.                                           sorted if necessary).
  2240.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2241.  
  2242.     SEE ALSO
  2243.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_InsertSingle
  2244.         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
  2245. NList.mcc/MUIM_NList_InsertSingle
  2246.  
  2247.     NAME
  2248.         MUIM_NList_InsertSingle --
  2249.  
  2250.     SYNOPSIS
  2251.         DoMethod(obj,MUIM_NList_InsertSingle,APTR entry, LONG pos);
  2252.  
  2253.     FUNCTION
  2254.         Same function as List.mui/MUIM_List_InsertSingle.
  2255.  
  2256.     INPUTS
  2257.         entry   - item to insert.
  2258.  
  2259.         pos     - New entry will be added in front of this entry.
  2260.                 MUIV_NList_Insert_Top     insert as first entry.
  2261.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2262.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2263.                                           sorted if necessary).
  2264.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2265.  
  2266.     SEE ALSO
  2267.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2268.         MUIM_NList_InsertSingleWrap, MUIM_NList_InsertWrap
  2269. NList.mcc/MUIM_NList_InsertSingleWrap
  2270.  
  2271.     NAME
  2272.         MUIM_NList_InsertSingleWrap --
  2273.  
  2274.     SYNOPSIS
  2275.         DoMethod(obj,MUIM_NList_InsertSingleWrap,
  2276.                       APTR entry, LONG pos, LONG wrapcol, LONG align);
  2277.  
  2278.     FUNCTION
  2279.         Same function as MUIM_NList_InsertSingle but permit word wrap
  2280.         and alignement for the entry.
  2281.  
  2282.     INPUTS
  2283.         entry   - item to insert.
  2284.  
  2285.         pos     - New entry will be added in front of this entry.
  2286.                 MUIV_NList_Insert_Top     insert as first entry.
  2287.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2288.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2289.                                           sorted if necessary).
  2290.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2291.  
  2292.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2293.                 other col. NOWRAP if you don't want word wrap.
  2294.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2295.  
  2296.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2297.                 be aware that align will be used if there is no escape
  2298.                 align sequence in the preparses or column entry string.
  2299.  
  2300.     SEE ALSO
  2301.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2302.         MUIM_NList_InsertSingle, MUIM_NList_InsertWrap
  2303. NList.mcc/MUIM_NList_InsertWrap
  2304.  
  2305.     NAME
  2306.         MUIM_NList_InsertWrap --
  2307.  
  2308.     SYNOPSIS
  2309.         DoMethod(obj,MUIM_NList_InsertWrap, APTR *entries,
  2310.                       LONG count, LONG pos, LONG wrapcol, LONG align);
  2311.  
  2312.     FUNCTION
  2313.         Same function as MUIM_NList_Insert but permit word wrap and
  2314.         alignement for the entry.
  2315.  
  2316.     INPUTS
  2317.         entries - pointer to an array of pointers to be inserted.
  2318.                   Warning: This is a pointer to a pointer.
  2319.  
  2320.                   It's a pointer to string if count==-2.
  2321.  
  2322.         count   - Number of elements to be inserted. If count==-1,
  2323.                   entries will be inserted until NULL pointer in
  2324.                   the entries array is found.
  2325.  
  2326.                   If count==-2 then entries must be a string pointer
  2327.                   which can be multiline with \n , \r or \r\n separators.
  2328.                   You'll get as many entries inserted as lines in the string.
  2329.                   The end char is \0.
  2330.  
  2331.         pos     - New entry will be added in front of this entry.
  2332.                 MUIV_NList_Insert_Top     insert as first entry.
  2333.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2334.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2335.                                           sorted if necessary).
  2336.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2337.  
  2338.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2339.                 other col. NOWRAP if you don't want word wrap.
  2340.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2341.  
  2342.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2343.                 be aware that align will be used if there is no escape
  2344.                 align sequence in the preparses or column entry string.
  2345.  
  2346.     SEE ALSO
  2347.         MUIM_NList_Remove, MUIA_NList_ConstructHook, MUIM_NList_Insert,
  2348.         MUIM_NList_InsertSingle, MUIM_NList_InsertSingleWrap
  2349. NList.mcc/MUIM_NList_Jump
  2350.  
  2351.     NAME
  2352.         MUIM_NList_Jump --
  2353.  
  2354.     SYNOPSIS
  2355.         DoMethod(obj,MUIM_NList_Jump,LONG pos);
  2356.  
  2357.     FUNCTION
  2358.         Same function as List.mui/MUIM_List_Jump.
  2359.  
  2360.     INPUTS
  2361.         pos - Number of the entry that should be made visible.
  2362.               Use MUIV_NList_Jump_Active to jump to the active
  2363.               entry.
  2364.  
  2365.     SEE ALSO
  2366.         MUIA_NList_Active, MUIA_NList_First
  2367. NList.mcc/MUIM_NList_Move
  2368.  
  2369.     NAME
  2370.         MUIM_NList_Move --
  2371.  
  2372.     SYNOPSIS
  2373.         DoMethod(obj,MUIM_NList_Move,LONG from, LONG to);
  2374.  
  2375.     FUNCTION
  2376.         Same function as List.mui/MUIM_List_Move.
  2377.  
  2378.     INPUTS
  2379.         pos1 - number of the first entry.
  2380.         pos2 - number of the second entry.
  2381.  
  2382.         Possible special values :
  2383.  
  2384.         MUIV_NList_Move_Top
  2385.         MUIV_NList_Move_Active
  2386.         MUIV_NList_Move_Bottom
  2387.         MUIV_NList_Move_Next        only valid for second parameter
  2388.                                     if first one is not Move_Selected
  2389.         MUIV_NList_Move_Previous    only valid for second parameter
  2390.                                     if first one is not Move_Selected
  2391.         MUIV_NList_Move_Selected    only valid for first parameter
  2392.  
  2393.     SEE ALSO
  2394.         MUIM_NList_Insert, MUIM_NList_Remove, MUIM_NList_Exchange
  2395. NList.mcc/MUIM_NList_NextSelected
  2396.  
  2397.     NAME
  2398.         MUIM_NList_NextSelected --
  2399.  
  2400.     SYNOPSIS
  2401.         DoMethod(obj,MUIM_NList_NextSelected,LONG *pos);
  2402.  
  2403.     FUNCTION
  2404.         Same function as List.mui/MUIM_List_NextSelected.
  2405.  
  2406.         In TypeSelect_Char mode you'll get all entries of the selected
  2407.         area, even the first and last which can be very partially selected.
  2408.  
  2409.     INPUTS
  2410.         pos - a pointer to longword that will hold the number
  2411.               of the returned entry. Must be set to
  2412.               MUIV_NList_NextSelected_Start at start of iteration.
  2413.               Is set to MUIV_NList_NextSelected_End when iteration
  2414.               is finished.
  2415.  
  2416.     SEE ALSO
  2417.         MUIM_NList_Select
  2418. NList.mcc/MUIM_NList_Redraw
  2419.  
  2420.     NAME
  2421.         MUIM_NList_Redraw --
  2422.  
  2423.     SYNOPSIS
  2424.         DoMethod(obj,MUIM_NList_Redraw,LONG pos);
  2425.  
  2426.     FUNCTION
  2427.         Same function as List.mui/MUIM_List_Redraw.
  2428.         Redraw some entry or all.
  2429.  
  2430.     INPUTS
  2431.         pos - Number of the line to redraw. When the line is not
  2432.               currently visible, nothing will happen. Specials:
  2433.               MUIV_NList_Redraw_Active   redraw the active line (if any),
  2434.               MUIV_NList_Redraw_All      redraw all lines.
  2435.               MUIV_NList_Redraw_Title    redraw the title.
  2436.  
  2437.     SEE ALSO
  2438.         MUIM_NList_RedrawEntry
  2439. NList.mcc/MUIM_NList_RedrawEntry
  2440.  
  2441.     NAME
  2442.         MUIM_NList_RedrawEntry --
  2443.  
  2444.     SYNOPSIS
  2445.         DoMethod(obj,MUIM_NList_RedrawEntry,APTR entry);
  2446.  
  2447.     FUNCTION
  2448.         Redraw some entry, like MUIM_NList_Redraw, but using the entry
  2449.         pointer instead of the entry number.
  2450.  
  2451.     INPUTS
  2452.         entry - Entry ptr of the entry (entries) you want to be redraw.
  2453.  
  2454.     SEE ALSO
  2455.         MUIM_NList_Redraw
  2456. NList.mcc/MUIM_NList_Remove
  2457.  
  2458.     NAME
  2459.         MUIM_NList_Remove --
  2460.  
  2461.     SYNOPSIS
  2462.         DoMethod(obj,MUIM_NList_Remove,LONG pos);
  2463.  
  2464.     FUNCTION
  2465.         Same function as List.mui/MUIM_List_Remove.
  2466.  
  2467.     INPUTS
  2468.         pos - number of the entry to be removed or one of
  2469.               MUIV_NList_Remove_First
  2470.               MUIV_NList_Remove_Active
  2471.               MUIV_NList_Remove_Selected
  2472.               MUIV_NList_Remove_Last
  2473.               When the active or a selected entry is removed,
  2474.               the following entry will become active.
  2475.               When the active is the removed and is the last,
  2476.               the new last become active.
  2477.  
  2478.     SEE ALSO
  2479.         MUIM_NList_Insert, MUIA_NList_DestructHook
  2480. NList.mcc/MUIM_NList_ReplaceSingle
  2481.  
  2482.     NAME
  2483.         MUIM_NList_ReplaceSingle --
  2484.  
  2485.     FUNCTION
  2486.         DoMethod(obj,MUIM_NList_ReplaceSingle,
  2487.                       APTR entry, LONG pos, LONG wrapcol, LONG align);
  2488.  
  2489.     FUNCTION
  2490.         Same function as MUIM_NList_InsertSingleWrap but replace an existing
  2491.         entry rather than inserting.
  2492.         It's better to do a direct replace than remove then insert it !
  2493.  
  2494.     INPUTS
  2495.         entry   - item to insert.
  2496.  
  2497.         pos     - New entry will be added in front of this entry.
  2498.                 MUIV_NList_Insert_Top     insert as first entry.
  2499.                 MUIV_NList_Insert_Active  insert in front of the active entry.
  2500.                 MUIV_NList_Insert_Sorted  insert sorted (all entries will be
  2501.                                           sorted if necessary).
  2502.                 MUIV_NList_Insert_Bottom  insert as last entry.
  2503.  
  2504.         wrapcol - WRAPCOL0 to WRAPCOL6. You can't ask word wrap for an
  2505.                 other col. NOWRAP if you don't want word wrap.
  2506.                 So only one of (display hook) col 0 to 6 can be wrapped.
  2507.  
  2508.         align   - ALIGN_LEFT, ALIGN_CENTER, ALIGN_RIGHT or ALIGN_JUSTIFY.
  2509.                 be aware that align will be used if there is no escape
  2510.                 align sequence in the preparses or column entry string.
  2511.  
  2512.     SEE ALSO
  2513.         MUIM_NList_Remove, MUIM_NList_InsertSingleWrap
  2514. NList.mcc/MUIM_NList_Select
  2515.  
  2516.     NAME
  2517.         MUIM_NList_Select --
  2518.  
  2519.     SYNOPSIS
  2520.         DoMethod(obj,MUIM_NList_Select,LONG pos, LONG seltype, LONG *state);
  2521.  
  2522.     FUNCTION
  2523.         Same function as List.mui/MUIM_List_Select when in TypeSelect_Line mode.
  2524.  
  2525.         In TypeSelect_Char mode, MUIV_NList_Select_Off will clear the selected
  2526.         area (don't look what is pos). MUIV_NList_Select_On will select the
  2527.         pos entry only (can be MUIV_NList_Select_Active or MUIV_NList_Select_All).
  2528.         MUIV_NList_Select_Ask will give the number off entry in the selected area.
  2529.  
  2530.     INPUTS
  2531.  
  2532.         pos     - Number of the entry or
  2533.                   MUIV_NList_Select_Active  for the active entry.
  2534.                   MUIV_NList_Select_All     for all entries.
  2535.  
  2536.         seltype - MUIV_NList_Select_Off     unselect entry.
  2537.                   MUIV_NList_Select_On      select entry.
  2538.                   MUIV_NList_Select_Toggle  toggle entry.
  2539.                   MUIV_NList_Select_Ask     just ask about the state.
  2540.  
  2541.         state   - Pointer to a longword. If not NULL, this will
  2542.                   be filled with the current selection state.
  2543.  
  2544.     SEE ALSO
  2545.         MUIA_NList_TypeSelect, MUIA_NList_MultiTestHook
  2546. NList.mcc/MUIM_NList_Sort
  2547.  
  2548.     NAME
  2549.         MUIM_NList_Sort --
  2550.  
  2551.     SYNOPSIS
  2552.         DoMethod(obj,MUIM_NList_Sort);
  2553.  
  2554.     FUNCTION
  2555.         Same function as List.mui/MUIM_List_Sort.
  2556.  
  2557.     SEE ALSO
  2558.         MUIA_NList_CompareHook
  2559. NList.mcc/MUIM_NList_Sort2
  2560.  
  2561.     NAME
  2562.         MUIM_NList_Sort2 --
  2563.  
  2564.     SYNOPSIS
  2565.         DoMethod(obj,MUIM_NList_Sort2,LONG sort_type, LONG sort_type_add);
  2566.  
  2567.     FUNCTION
  2568.         Same function as MUIM_NList_Sort but will set MUIA_NList_SortType
  2569.         before starting the sort.
  2570.  
  2571.         It is really usefull only if you use MUIA_NList_CompareHook2 instead
  2572.         of classic MUIA_NList_CompareHook so your hook will be able to do
  2573.         different type of sort when NList_SortType change.
  2574.  
  2575.     INPUTS
  2576.         sort_type     - The new MUIA_NList_SortType value (see below).
  2577.  
  2578.         sort_type_add - If 0 then sort_type will be the new MUIA_NList_SortType,
  2579.                         else if current MUIA_NList_SortType & MUIV_NList_SortTypeValue_Mask
  2580.                         is same as sort_type then sort_type_add will be added to the
  2581.                         MUIA_NList_SortType value,
  2582.                         else sort_type will be the new MUIA_NList_SortType.
  2583.  
  2584.                         See examples for special values.
  2585.  
  2586.     EXAMPLES
  2587.         Many times this method will be used to sort multicolumn list in different
  2588.         ways when the user click on title buttons :
  2589.  
  2590.         DoMethod(list,MUIM_Notify,MUIA_NList_TitleClick, MUIV_EveryTime,
  2591.           list, 3, MUIM_NList_Sort, MUIV_TriggerValue, MUIV_NList_SortTypeAdd_xxx);
  2592.  
  2593.         if MUIV_NList_SortTypeAdd_None    then the hook sort_type value will be the column
  2594.                                           number.
  2595.         if MUIV_NList_SortTypeAdd_2Values then the hook sort_type value will be a cycle of
  2596.                                           values which change on each click :
  2597.                                           o Column number  (first time)
  2598.                                           o Column number + MUIV_NList_SortTypeAdd_2Values
  2599.                                           o back to column number ...
  2600.  
  2601.         if MUIV_NList_SortTypeAdd_4Values then the hook sort_type value will be a cycle of
  2602.                                           values which change on each click :
  2603.                                           o Column number  (first time)
  2604.                                           o Column number + MUIV_NList_SortTypeAdd_4Values
  2605.                                           o Column number + MUIV_NList_SortTypeAdd_4Values*2
  2606.                                           o Column number + MUIV_NList_SortTypeAdd_4Values*3
  2607.                                           o back to column number ...
  2608.     SEE ALSO
  2609.         MUIA_NList_CompareHook2, MUIM_NList_Sort, MUIA_NList_SortType
  2610. NList.mcc/MUIM_NList_TestPos
  2611.  
  2612.     NAME
  2613.         MUIM_NList_TestPos --
  2614.  
  2615.     SYNOPSIS
  2616.         DoMethod(obj,MUIM_NList_TestPos,LONG x, LONG y, struct MUI_NList_TestPos_Result *res);
  2617.  
  2618.     FUNCTION
  2619.         Find out which informations of a list which is currently
  2620.         displayed at a certain position.
  2621.  
  2622.         You must give a pointer to a valid MUI_NList_TestPos_Result struct.
  2623.  
  2624.         Set x AND y to MUI_MAXMAX to get infos about the last click position !
  2625.  
  2626.         See NList_mcc.h to know what values will be set in the struct.
  2627.  
  2628.         Preset char_number to -2 in the struct to not get char_number and char_xoffset
  2629.         informations. It's usefull if you don't need them because it will be
  2630.         faster for the method without finding them. the -2 value will stay valid
  2631.         for next call.
  2632.  
  2633.         You'll get char number from what you return from the DisplayHook if there is
  2634.         one, else from the beginning of the string/entry ptr.
  2635.  
  2636.         Be aware: if you use MUIM_List_TestPos you have to give a pointer to a
  2637.         struct MUI_List_TestPos_Result, and you'll get same infos as using a List object.
  2638.         It wasn't done as is before, makeing enforcer hits when trying to use NList
  2639.         or NFloattext with a Listview instead of a NListview (avoid it please, it's not
  2640.         done for it as Listview try to make many things itself, with possible conficts),
  2641.         because struct MUI_NList_TestPos_Result is bigger !!!
  2642. NList.mcc/MUIM_NList_UseImage
  2643.  
  2644.     NAME
  2645.         MUIM_NList_UseImage --
  2646.  
  2647.     SYNOPSIS
  2648.         DoMethod(obj,MUIM_NList_UseImage,Object *obj, ULONG imgnum, ULONG flags);
  2649.  
  2650.     FUNCTION
  2651.         If you want to use MUIM_NList_CreateImage/MUIM_NList_DeleteImage
  2652.         as you should, you must make a NList subclass which call them
  2653.         from Setup() and Cleanup(), and it's sometime complicated.
  2654.  
  2655.         To avoid that, you can use MUIM_NList_UseImage. NList will
  2656.         store the Bitmap/Bodychunk object you give and will make
  2657.         CreateImage and DeleteImage itself !
  2658.  
  2659.         MUIM_NList_UseImage can use same object as MUIM_NList_CreateImage !
  2660.  
  2661.         NULL is a valid obj. It will erase any previously UseImage
  2662.         with the same imgnum.
  2663.  
  2664.         The imgnum you give is the number that you will use in
  2665.         \33o[<n>] sequence as the <n> number.
  2666.         MUIM_NList_UseImage will accept 0 <= imgnum < 8192, anyway
  2667.         use small value if you can because an array will be allocated
  2668.         with the biggest imgnum value as size to store the
  2669.         Bitmap/Bodychunk objects.
  2670.  
  2671.         DoMethod(obj,MUIM_NList_UseImage,NULL, -1, 0) will set NULL to
  2672.         all stored objects, so you'll be able to dispose your
  2673.         Bitmap/Bodychunk objects if you want, without waiting the NList
  2674.         objet dispose.
  2675.  
  2676.         flags is the same than for MUIM_NList_CreateImage (0 unless special case).
  2677.  
  2678.     RESULT
  2679.         TRUE if succeeded to store the obj (and allocate the array
  2680.         if needed), else FALSE.
  2681.  
  2682.         There is no way to know if the MUIM_NList_CreateImage
  2683.         needed to draw will succeed/has succeeded.
  2684.  
  2685.         ATTENTION:
  2686.         The given Bitmap/Bodychunk object MUST be valid until the
  2687.         NList object is disposed or you set another object (or NULL)
  2688.         at the same imgnum !
  2689.         The Bitmap/Bodychunk object can be shared with other NList
  2690.         object because NList just use it to get informations, anyway
  2691.         you mustn't change informations of that object. If you to do
  2692.         so, do a UseImage,NULL,x , change it then do UseImage,imgobj,x
  2693.         again.
  2694.  
  2695.     SEE ALSO
  2696.         MUIM_NList_CreateImage, MUIM_NList_DeleteImage
  2697.